구성요소
Thread ID
Register set (Program Counter, Stack Point 등, 상위 프로세스나 타 스레드와 협업하기 위해서 필요한 것들)
Stack
멀티 스레드 프로세스의 구성
멀티 스레드 프로세스의 메모리 구성
사용자 응답성 (Responsiveness)
일부 스레드의 처리가 지연되어도, 다른 스레드는 작업을 계속 처리 가능
자원 공유 (Resource sharing)
자원을 공유해서 효율성 증가 (커널의 개입을 피할 수 있음). *경제성과 같은 의미
경제성 (Economy)
프로세스의 생성, context switch에 비해 효율적
(context switch는 메모리를 지웠다 썼다하지만, 스레드는 메모리의 변화 없이 작업이 가능하다.)
멀티 프로세서(multi-processor) 활용
병렬처리를 통해 성능 향상
n:1 모델 (다대일)
OS(Kernel)가 직접 관리
1:1 모델
n:m (다대다) 모델
커널 수준의 장점과 사용자 수준의 장점을 모두 가진다.
사용자가 원하는 수만 큼 스레드 사용
커널 스레드는 자신에게 할당된 하나의 사용자 스레드가 block 상태가 되어도, 다른 스레드 수행 가능
병행 처리 가능
효율적이면서도 유연함