OS · THREAD
경량 스레드 모델 선택표
Green Thread, Coroutine, Virtual Thread, Goroutine은 모두 많은 동시 작업을 다루지만 커널 스레드와 매핑되는 방식이 다릅니다.
모델 비교
lightweight
green thread
런타임이 사용자 공간에서 스케줄
coroutine
명시적 yield/await로 협력적 전환
virtual thread
JVM이 blocking을 경량화
goroutine
Go runtime이 M:N으로 multiplex
green thread
→
coroutine
→
virtual thread
→
goroutine
판단 기준
check
블로킹
커널 blocking이 전체 런타임을 멈추는지 봅니다.
스케줄러
언어 런타임이 작업 전환을 관리하는지 확인합니다.
I/O 중심
많은 대기 작업에는 경량 스레드가 유리합니다.
CPU 중심
계산 작업은 코어 수와 병렬 실행 한계가 중요합니다.