OS · THREAD

경량 스레드 모델 선택표

Green Thread, Coroutine, Virtual Thread, Goroutine은 모두 많은 동시 작업을 다루지만 커널 스레드와 매핑되는 방식이 다릅니다.

모델 비교

lightweight
green thread런타임이 사용자 공간에서 스케줄
coroutine명시적 yield/await로 협력적 전환
virtual threadJVM이 blocking을 경량화
goroutineGo runtime이 M:N으로 multiplex
green threadcoroutinevirtual threadgoroutine

판단 기준

check
블로킹커널 blocking이 전체 런타임을 멈추는지 봅니다.
스케줄러언어 런타임이 작업 전환을 관리하는지 확인합니다.
I/O 중심많은 대기 작업에는 경량 스레드가 유리합니다.
CPU 중심계산 작업은 코어 수와 병렬 실행 한계가 중요합니다.