PriorityQueue implements a priority queue data structure, which is used to build schedulers. It allows you to put in items at some arbitrary time and pop them in time order.
Puts the item in the queue at the given time.
Returns the time of the earliest item in the queue.
Returns the earliest item in the queue.
Empty the queue.
Return a Boolean whether the queue is empty.
Return a Boolean whether the queue is not empty.
Remove all instances of value from the queue.