멀티 스레드
- 멀티 스레드
- 한 프로세스 내에서 여러 스레드를 두는 것
- 멀티 프로세스 대신 멀티 스레드를 사용하는 이유
- 스택을 제외한 자원을 공유하기 때문에 자원의 효율성 증대
- 프로세스 생성 비용보다 스레드 생성 비용이 적다.
- 프로세스 간 컨텍스트 스위칭 시 오버헤드가 크지만 스레드는 메모리를 공유하기 때문에 자원 소모가 적다.
- 처리 비용 및 응답 시간 단축
- 프로세스 간 통신(IPC)보다 스레드 간의 통신 비용이 적다.
- 스레드 간의 전환 속도가 훨씬 빠르다.
- 스택을 제외한 자원을 공유하기 때문에 자원의 효율성 증대
- 멀티 스레드 사용 시 주의할 점
- 힙 영역을 공유하기 때문에 힙 영역 자원 사용 시 동기화 필수
- 동기화를 위한 락이 과도하게 사용되면 성능이 저하된다.
- 일부 스레드가 종료되면 프로세스 전체가 종료될 수 있다.
'기술면접 > 운영체제' 카테고리의 다른 글
[운영체제] Thread-safe란? (0) | 2022.02.28 |
---|---|
[운영체제] 캐시 메모리 매핑, 교체, 지역성 (0) | 2022.02.28 |
[운영체제] 프로세스와 스레드 차이 (0) | 2022.02.25 |
운영체제 10장 가상메모리 페이지 교체 알고리즘 (0) | 2022.01.19 |
운영체제 9장 정리 - 메모리 관리 (0) | 2022.01.19 |
댓글