public bool TryDequeue(out WorkloadEvent result) { try { PilePointer pp; if (!pointers.TryDequeue(out pp)) { result = null; return(false); } result = (WorkloadEvent)pile.Get(pp); pile.Delete(pp); } catch (Exception) { result = null; return(false); } return(true); }
public void Enqueue(WorkloadEvent evt) { pointers.Enqueue(pile.Put(evt)); }