示例#1
0
 public override void Dispose()
 {
     foreach (Action <ILoad> i in OnEnqueued.GetInvocationList())
     {
         OnEnqueued -= i;
     }
 }
示例#2
0
 public void Enqueue(T item)
 {
     Value.Enqueue(item);
     if (Value.Count > size)
     {
         Value.Dequeue();
     }
     OnEnqueued?.Invoke(this, item);
 }
示例#3
0
 private void AtmptEnqueue()
 {
     if (List_PendingToEnqueue.Count > 0 && List_Queueing.Count < Capacity)
     {
         var load = List_PendingToEnqueue.First();
         Log("Enqueue", load);
         if (DebugMode)
         {
             Debug.WriteLine("{0}:\t{1}\tEnqueue\t{2}", ClockTime, this, load);
         }
         List_Queueing.Add(load);
         List_PendingToEnqueue.RemoveAt(0);
         HC_Queueing.ObserveChange(1, ClockTime);
         OnEnqueued.Invoke(load);
     }
 }