쓰레드란?
- 가벼운 프로세스
- CPU 사용의 기본적인 유닛(단위)
- 실질적으로 쓰레드의 ID가 CPU를 점유한다
- 프로세스는 여러개의 쓰레드로 구성되어 있다
멀티쓰레드의 장점
- 응답성
- 특정 프로세스가 block되어도 응답이 지속될 수 있다
- 리소스 공유
- 메시지 패싱이나 공유메모리 방식보다 간단하다.
- data 영역을 공유하기 때문
- 메시지 패싱이나 공유메모리 방식보다 간단하다.
- 경제성
- 프로세스를 생성하는 것보다 쓰레드를 생성하는게 비용이 덜 든다
- 컨텍스트 스위칭의 비용도 더 적게 든다
- 확장성 (Scalability)
- 멀티프로세서 환경에서도 이점이 있다
자바에서의 쓰레드
- Thread 클래스를 상속받는다
- Runnable 인터페이스를 implement한다 (추천: 클래스는 하나밖에 상속이 안되기 때문)
- 람다 표현을 활용한다
멀티코어 시스템에서의 멀티쓰레드
- 동시성이 향상된다
- 하나의 코어일 경우에는 인터리빙(사이사이 많이 끼움)된다
- 멀티코어일 경우 병렬성이 올라간다
'Computer Science > 운영체제' 카테고리의 다른 글
CPU 스케줄링 (CPU Scheduling) (0) | 2022.12.13 |
---|---|
멀티쓰레딩 (Pthread) (0) | 2022.12.06 |
프로세스간 통신의 실제 (IPC) (0) | 2022.12.01 |
프로세스간 통신(IPC) (0) | 2022.12.01 |
프로세스에 대해 이해해보자 (0) | 2022.11.22 |