【发布时间】:2019-06-13 15:13:36
【问题描述】:
我正在寻找一种方法: 1. 从限制一定大小的 ConcurentQueue 读取消息。 2. 一次阅读不超过 X 条消息。 一旦 2 个命中之一,我想停止从 Q 读取, 直到其他代码完成并再次执行相同的操作。
我看到队列溢出的不同实现, 在这里Fixed size queue which automatically dequeues old values upon new enques 但可以 不知道如何正确组合它们。
public class FixedSizedQueue<T>
public int Size { get; private set; }
public FixedSizedQueue(int size)
{
Size = size;
}
public void Enqueue(T obj)
{
queue.Enqueue(obj);
while (queue.Count > Size)
{
T outObj;
queue.TryDequeue(out outObj);
}
}
}
【问题讨论】:
标签: c# queue concurrent-queue