priority queue

우선순위 큐 동점 처리

deadline, seq, 동적 우선순위 변경, 유효성 토큰은 힙 기반 큐에서 자주 만나는 운영 조건입니다.

seq

동률 우선순위 처리

같은 priority가 반복되면 seq를 두 번째 키로 둬 삽입 순서를 보존합니다.

deadline

마감 우선순위 기준

마감 시간이 빠른 항목을 먼저 꺼내고, 같은 마감은 생성 순서로 고정합니다.

재삽입

힙 우선순위 갱신 방식

힙 내부 값을 직접 고치지 않고 새 우선순위로 다시 넣어 갱신을 처리합니다.

유효성 토큰

오래된 큐 항목 건너뛰기

토큰이나 버전이 현재 상태와 다르면 오래된 항목으로 보고 pop 시 건너뜁니다.

처리량 안정성을 위해 키를 늘리면 비교 비용과 메모리가 조금 증가합니다.
compare 객체 비교에서 payload까지 비교하지 않도록 기준 필드를 분리합니다.
오래된 항목 무효 항목이 많이 쌓이면 주기적 정리나 재구성이 필요합니다.