본문 바로가기
기술면접/운영체제

[운영체제] 멀티 프로세스와 멀티스레드

by illlilillil 2022. 2. 25.

멀티 스레드

  • 멀티 스레드
    • 한 프로세스 내에서 여러 스레드를 두는 것
    • 멀티 프로세스 대신 멀티 스레드를 사용하는 이유
      • 스택을 제외한 자원을 공유하기 때문에 자원의 효율성 증대
        • 프로세스 생성 비용보다 스레드 생성 비용이 적다.
        • 프로세스 간 컨텍스트 스위칭 시 오버헤드가 크지만 스레드는 메모리를 공유하기 때문에 자원 소모가 적다.
      • 처리 비용 및 응답 시간 단축
        • 프로세스 간 통신(IPC)보다 스레드 간의 통신 비용이 적다.
        • 스레드 간의 전환 속도가 훨씬 빠르다.
    • 멀티 스레드 사용 시 주의할 점
      • 힙 영역을 공유하기 때문에 힙 영역 자원 사용 시 동기화 필수
      • 동기화를 위한 락이 과도하게 사용되면 성능이 저하된다.
      • 일부 스레드가 종료되면 프로세스 전체가 종료될 수 있다.

댓글