CS자료/운영체제

[OS] 멀티 스레드

뇌장하드 2022. 3. 3. 20:47

멀티 스레드

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

'CS자료 > 운영체제' 카테고리의 다른 글

[OS] 사용자 수준 쓰레드와 커널 수준 쓰레드  (0) 2022.03.03
[OS] 메모리 관리 전략  (0) 2022.03.03
[OS] 동기와 비동기의 차이  (0) 2022.03.03
[OS] 단편화  (0) 2022.03.03
[OS] 가상메모리  (0) 2022.03.03