예제 #1
0
 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);
 }
예제 #2
0
 public void Enqueue(WorkloadEvent evt)
 {
     pointers.Enqueue(pile.Put(evt));
 }