본문 바로가기
Computer Science/Operating System

멀티 프로세스보다 멀티 스레드를 지향하는 이유

by Ray 2021. 12. 16.

멀티 프로세스보다 멀티 스레드를 지향하는 이유

  • 스레드는 프로세스 보다 더 경량이여서 프로세스보다 생성과 제거가 쉽다.
  • 스레드는 Stack을 제외한 메모리를 공유하기 때문에 멀티 프로세스에서 데이터를 공유하기 위해 사용하는 IPC 통신의 비용부담이 감소한다.
  • 컨텍스트 스위칭 시 자원의 손실이 줄어든다.
    • 프로세스 간의 컨텍스트 스위칭시 단순히 CPU 레지스터 교체 뿐만이 아니라 RAM과 CPU사이의 캐쉬메모리에 대한 데이터 까지 초기화 되므로 상당한 부담이 발생한다.

 

 

멀티 프로세스와 멀티 스레드의 적절한 상황

1) 멀티 프로세스

  • 브라우저의 각 탭(크롬)
  • 한 프로세스가 비정상적으로 종료되더라도 다른 프로세스가 영향을 받지 않음
  • 자원을 공유할 필요가 없음

2) 멀티 스레드

  • 워드 프로세스와 같은 응용 소프트웨어
  • 여러가지 기능과 메모리를 공유