질문 6
멀티 프로세스와 멀티 스레드의 차이점을 설명해 보세요.
답변
멀티 프로세스는 응용 프로그램 하나를 프로세스 여러 개로 구성하는 것입니다. 반면에 멀티 스레드는 한 프로세스 안에서 여러 스레드로 작업을 처리하는 것입니다. 프로세스는 독립적인 메모리 영역을 갖기 때문에 자원 공유와 통신을 하려면 IPC를 활용해야 합니다. 스레드는 자원 공간을 공유하므로 스레드 간 통신과 자원 공유가 간단하고 프로세스 대비 콘텍스트 스위칭 비용이 적게 들지만, 동기화가 필요합니다.
TIP 멀티 프로세스와 멀티 스레드의 중요한 차이점 중 하나는 자원 공간의 공유 여부다. 자원 공간을 공유할 수 없는 프로세스 간 자원 공유 방법인 IPC에 대한 연결 질문이 나올 수 있다. 추가로 답변에 스레드 구현 경험과 데이터 동기화 문제 해결 경험을 녹여내면 면접 흐름을 이끌고 개발 경험을 강조할 수 있다.