Reinsert + Token

우선순위 변경은 새 엔트리를 넣고, pop 때 오래된 토큰을 버린다

대부분의 힙은 임의 원소 수정이 비싸므로, 우선순위가 바뀐 작업을 새 버전으로 다시 넣고 valid map으로 최신 여부를 판정합니다.

heap 안의 엔트리

staleA reportprio 2 · token 1
validA reportprio 0 · token 3
validB alertprio 1 · token 2
01 update

새 priority 삽입

A의 우선순위가 2에서 0으로 바뀌면 새 token 3을 push합니다.

02 pop

top을 꺼낸 뒤 검산

꺼낸 엔트리의 token과 valid map의 token을 비교합니다.

03 skip

stale은 건너뜀

token이 다르면 오래된 작업이므로 결과 처리 없이 버립니다.

핵심: 재삽입 방식의 안전성은 heap 자체가 아니라 pop 직전의 token 검산에서 보장됩니다.