lightweight thread model

스레드 모델은 누가 스케줄링을 맡는지로 고른다

사용자 수준 스레드는 빠르게 전환되지만 blocking call에 약하고, 커널 스레드는 병렬성과 차단 처리가 강한 대신 전환 비용이 든다.

user level 라이브러리 스케줄 전환 빠름
kernel level 커널 스케줄 코어 병렬 사용
hybrid 둘을 매핑 복잡도 증가
선택 blocking 여부 병렬성과 비용 균형
모델
강한 점
주의점
user level
빠른 전환
한 스레드 차단이 전체 차단
kernel level
멀티코어 병렬성
커널 전환 비용
hybrid
유연한 매핑
구현과 디버깅 복잡
green thread
대량 동시성
런타임 지원 필요
핵심 사용자 수준 스레드는 빠르게 전환되지만 blocking call에 약하고, 커널 스레드는 병렬성과 차단 처리가 강한 대신 전환 비용이 든다.