Пример #1
0
 /// <summary>
 /// Performs an atomic clear and enqueue of the specified item
 /// </summary>
 /// <param name="item"></param>
 public void ReplaceWith(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.Clear();
         queue.AddLast(item);
     }
 }
Пример #2
0
 public CleanupWorkItem Pop()
 {
     lock (_sync) {
         CleanupWorkItem i = queue.Count > 0 ? queue.First.Value : null;
         if (i != null)
         {
             queue.RemoveFirst();
         }
         return(i);
     }
 }
Пример #3
0
 /// <summary>
 /// Queues the item if no other identical items exist in the queue. Returns true if the item was added.
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public bool QueueIfUnique(CleanupWorkItem item)
 {
     lock (_sync) {
         bool unique = !queue.Contains(item);
         if (unique)
         {
             queue.AddLast(item);
         }
         return(unique);
     }
 }
Пример #4
0
 public void Insert(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.AddFirst(item);
     }
 }
Пример #5
0
 public bool Exists(CleanupWorkItem item)
 {
     lock (_sync) {
         return(queue.Contains(item));
     }
 }
Пример #6
0
 public void Queue(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.AddLast(item);
     }
 }
Пример #7
0
 public void Queue(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.AddLast(item);
     }
 }
Пример #8
0
 public void Insert(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.AddFirst(item);
     }
 }
Пример #9
0
 public bool Exists(CleanupWorkItem item)
 {
     lock (_sync) {
         return queue.Contains(item);
     }
 }
Пример #10
0
 /// <summary>
 /// Performs an atomic clear and enqueue of the specified item
 /// </summary>
 /// <param name="item"></param>
 public void ReplaceWith(CleanupWorkItem item)
 {
     lock (_sync) {
         queue.Clear();
         queue.AddLast(item);
     }
 }
Пример #11
0
 /// <summary>
 /// Queues the item if no other identical items exist in the queue. Returns true if the item was added.
 /// </summary>
 /// <param name="item"></param>
 /// <returns></returns>
 public bool QueueIfUnique(CleanupWorkItem item)
 {
     lock (_sync) {
         bool unique = !queue.Contains(item);
         if (unique) queue.AddLast(item);
         return unique;
     }
 }