我将编写一个包装器类,该类在Enqueue上将检查Count,然后在计数超过限制时出队列。
public class FixedSizedQueue<T> { ConcurrentQueue<T> q = new ConcurrentQueue<T>(); private object lockObject = new object(); public int Limit { get; set; } public void Enqueue(T obj) { q.Enqueue(obj); lock (lockObject) {T overflow;while (q.Count > Limit && q.TryDequeue(out overflow)) ; } } }


