사용자 스레드는 가볍지만 하나가 블로킹되면 프로세스 전체가 멈출 수 있습니다.
멀티스레딩 모델 선택 기준
스레드 모델은 사용자 수준 스케줄러와 커널 스케줄러 중 누가 블로킹과 병렬성을 감당하는지의 차이입니다.
01커널 가시성
02블로킹 영향
03병렬성
04생성 비용
05디버깅
커널이 각 스레드를 스케줄링해 멀티코어 병렬성이 좋지만 생성 비용이 큽니다.
사용자 스레드를 여러 커널 스레드에 매핑해 유연성을 얻지만 구현이 복잡합니다.
코루틴, 가상 스레드, 고루틴은 블로킹 모델과 런타임 스케줄러 특성을 함께 봐야 합니다.