using System.Collections.Generic; namespace Common.system { /// /// 队列操作类 默认队列数1000 /// 创建人:赵耀 /// 创建时间:2019年8月22日 /// /// public class QueueSync { int _maxcount; private Queue _queue = new Queue(); /// /// 默认1000 /// public QueueSync() : this(1000) { } /// /// 定义一个指定容量的队列 /// /// public QueueSync(int maxcount) { _maxcount = maxcount; } /// /// 入队列 /// /// /// public bool Enqueue(T obj) { lock (this) { if (_queue.Count > _maxcount) { _queue.Dequeue(); } _queue.Enqueue(obj); } return true; } /// /// 出队列 /// /// public T Dequeue() { T obj = default(T); lock (this) { try { obj = _queue.Dequeue(); } catch { // ignored } } return obj; } } }