Computer Science/Operating System
멀티 프로세스보다 멀티 스레드를 지향하는 이유
Ray
2021. 12. 16. 23:33
멀티 프로세스보다 멀티 스레드를 지향하는 이유
- 스레드는 프로세스 보다 더 경량이여서 프로세스보다 생성과 제거가 쉽다.
- 스레드는 Stack을 제외한 메모리를 공유하기 때문에 멀티 프로세스에서 데이터를 공유하기 위해 사용하는 IPC 통신의 비용부담이 감소한다.
- 컨텍스트 스위칭 시 자원의 손실이 줄어든다.
- 프로세스 간의 컨텍스트 스위칭시 단순히 CPU 레지스터 교체 뿐만이 아니라 RAM과 CPU사이의 캐쉬메모리에 대한 데이터 까지 초기화 되므로 상당한 부담이 발생한다.
멀티 프로세스와 멀티 스레드의 적절한 상황
1) 멀티 프로세스
- 브라우저의 각 탭(크롬)
- 한 프로세스가 비정상적으로 종료되더라도 다른 프로세스가 영향을 받지 않음
- 자원을 공유할 필요가 없음
2) 멀티 스레드
- 워드 프로세스와 같은 응용 소프트웨어
- 여러가지 기능과 메모리를 공유