질문 172 · 실전 면접 답변
멀티 프로세스와 멀티 스레드는 격리 수준과 통신 비용 측면에서 어떻게 다른가요?
이렇게 답해 보세요 (핵심 답변)
멀티 프로세스는 각 프로세스가 독립된 가상 주소 공간을 가져 한쪽 오류가 다른 프로세스로 퍼지는 것을 막아 주며, 파이프나 소켓 같은 IPC로 통신합니다. 반면 멀티 스레드는 같은 주소 공간을 공유해 데이터를 빠르게 주고받을 수 있지만, 경쟁 상태가 생기기 쉽고 한 스레드의 치명적 오류가 프로세스 전체를 멈추게 할 수 있습니다. 따라서 생성·통신 비용과 작업 크기, 필요한 격리 수준, 코어 수를 함께 고려해 선택합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 강한 격리가 필요한 브라우저 탭이나 플러그인 구조와, 대량의 공유 메모리를 함께 계산하는 작업은 요구되는 아키텍처가 다릅니다.
- 공유 메모리로 복사 비용을 줄이더라도 잠금 경합(Lock Contention)이 심해지면 대기 시간 때문에 성능이 떨어질 수 있습니다.
면접에서 자주 하는 실수
멀티 스레드가 가볍다는 이유만으로 어떤 상황에서든 무조건 멀티 프로세스보다 더 빠르다고 단정하면 안 됩니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 172번을 바탕으로 질문과 답변을 새로 정리했습니다.