호빵의 IT 개발소

멀티 프로세스와 멀티 쓰레드의 차이점은? 본문

CS(전공지식)/기술면접 준비

멀티 프로세스와 멀티 쓰레드의 차이점은?

호빵Stack 2025. 3. 29. 23:35
멀티 프로세스(Multi-Process) vs 멀티 쓰레드(Multi-Thread) 차이점 요약
  • 실행 단위
    • 멀티 프로세스: 여러 개의 독립된 프로세스 실행
    • 멀티 쓰레드: 하나의 프로세스 내에서 여러 쓰레드 실행
  • 메모리 구조
    • 멀티 프로세스: 메모리 공간 분리, 데이터 공유 어려움
    • 멀티 쓰레드: 메모리 공간 공유, 데이터 공유 쉬움
  • 자원 소모
    • 멀티 프로세스: 생성 비용 크고 무겁지만 안정성 높음
    • 멀티 쓰레드: 가볍고 빠르지만 동기화 문제 발생 가능
  • 통신 방식
    • 멀티 프로세스: IPC(파이프, 소켓 등) 필요
    • 멀티 쓰레드: 메모리 직접 공유로 빠른 통신 가능

 

 

면접 스타일 답변 예시:

멀티 프로세스는 각 프로세스가 독립된 메모리 공간을 사용하기 때문에 안정성이 높고 하나가 문제를 일으켜도 다른 프로세스에 영향을 주지 않습니다. 반면 멀티 쓰레드는 하나의 프로세스 내에서 실행되므로 자원을 공유할 수 있어 통신이 빠르지만 그만큼 동기화와 경합 문제에 신경 써야 합니다.
따라서 안정성이 중요한 경우엔 멀티 프로세스를 성능과 자원 효율성이 중요한 경우엔 멀티 쓰레드를 선택하는 것이 적절합니다.
Comments