empty loop, sleep, yield의 scheduler 영향

세 표현이 CPU 점유와 재개 조건에 주는 의미를 나눈다.

1

Empty spin

RUNNABLE 유지

core를 계속 사용

2

sleep

TIMED_WAITING

시간 또는 interrupt

3

yield

RUNNABLE hint

무시 가능

4

queue.take

WAITING

item 또는 interrupt

핵심: 정확성·공정성·producer consumer 조정은 yield가 아닌 blocking 계약으로 만든다.