/// <summary>Dequeues an object from the priority queue.</summary> /// <returns>The top item (max priority) from the queue.</returns> public virtual object Dequeue() { return(_heap.Remove()); }
/// <summary>Removes the entry at the top of the heap.</summary> /// <returns>The removed entry.</returns> public override object Remove() { lock (_heap.SyncRoot) return(_heap.Remove()); }