Policy Board

비교 키와 stale 처리 정책은 코드 위에 별도 보드로 고정한다

큐가 복잡해질수록 “무엇을 먼저 꺼낼지”와 “꺼낸 항목을 처리해도 되는지”를 분리해서 검토해야 합니다.

compare

정렬 기준

작은 priority가 먼저, 동점이면 seq가 작은 작업이 먼저입니다.

(priority, seq)
fairness

재현성

동점 작업이 많아도 삽입 순서를 보존하면 테스트 결과가 흔들리지 않습니다.

priority 같음 -> seq
validity

무효화

우선순위 변경 전 엔트리는 valid token과 다르면 처리하지 않습니다.

valid[id] == token
방향이 맞는가deadline 작은 값이 먼저 나오는가?
동점이 고정되는가같은 priority에서 A/B 순서가 매번 같은가?
stale을 버리는가재삽입 전 token이 처리되지 않는가?

판정: 우선순위 큐 안정성은 pop 결과 하나가 아니라 compare, tie, valid 세 검증을 모두 통과해야 A입니다.