heap pop flow
pop은 비교 키를 꺼낸 뒤, 토큰으로 유효성을 판정한다
우선순위 큐는 “가장 앞선 키”를 먼저 꺼내지만, 실제 처리 여부는 현재 토큰과 비교한 뒤에 결정한다.
heap top 후보
(1, 04, A)
deadline 1, seq 04, token A
(1, 07, B)
같은 deadline이면 seq가 작을수록 먼저 pop
(2, 03, C)
priority가 낮은 후보는 뒤에 남음
현재 token map
task A
token B로 갱신됨
task B
token B가 최신
task C
token C가 최신
pop 단계
검사
판정
처리
1
(1,04,A)
를 꺼냄
token 불일치
stale이므로 버리고 다음 pop
2
(1,07,B)
를 꺼냄
token 최신
실제 작업으로 처리
3
동일 priority 비교
seq가 tie-break
실행 순서가 재현 가능
핵심: priority는 “누가 먼저 나오는가”, token은 “지금 처리해도 되는가”를 결정한다.