패스잇
CS 기초 · 기초

프로세스와 스레드의 차이점에 대해 설명해주세요.

힌트 · 메모리 공유, 컨텍스트 스위칭 비용을 비교해보세요.

독립적인 메모리 공간자원 공유Context Switching병렬성프로세스 격리

모범답안

프로세스와 스레드는 모두 병렬성을 구현하는 방식이지만, 핵심적인 차이점이 있습니다. 프로세스는 운영체제로부터 독립적인 메모리 공간을 할당받아 실행되는 프로그램의 인스턴스입니다. 반면 스레드는 프로세스 내에서 실행되는 실행 흐름의 단위로, 프로세스의 자원(메모리, 파일 등)을 공유합니다.

가장 큰 차이점은 메모리 공간입니다. 프로세스는 독립적인 공간을 가지므로 프로세스 간 통신에는 IPC(Inter-Process Communication)가 필요하지만, 스레드는 공유 메모리를 사용하므로 프로세스 간 통신보다 훨씬 빠릅니다.

컨텍스트 스위칭 비용도 다릅니다. 프로세스 간 컨텍스트 스위칭은 메모리 공간을 변경해야 하므로 비용이 큰 반면, 스레드 간 컨텍스트 스위칭은 프로세스 내에서 이루어지므로 비용이 적습니다. 프로세스는 안정성이 높지만 자원 소모가 크고, 스레드는 자원 소모는 적지만 프로세스에 문제가 생기면 함께 종료될 수 있다는 단점이 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 네트워크 면접 질문

← 네트워크 면접 질문 전체 보기