Priority Queue

우선순위 큐 최신성

힙은 중간 삭제가 어렵기 때문에 작업마다 토큰을 붙이고 pop 시점에 최신성 여부를 판단한다.

Lazy 삭제 패턴

valid token

삽입

작업을 힙에 넣을 때 현재 버전이나 토큰을 함께 저장한다.

갱신

같은 대상의 우선순위가 바뀌면 최신 토큰 맵만 새 값으로 갱신한다.

검사

pop한 항목의 토큰이 최신 맵과 다르면 오래된 항목으로 버린다.

처리

토큰이 일치하는 항목만 실제 작업으로 확정한다.

pushtokenpopvalid
순서 규칙 해석

우선순위 큐에서 삭제를 억지로 구현하기보다, pop할 때 유효성을 확인하는 방식이 단순하고 안정적이다.