C#: 需要一个类似于Java的LinkedBlockingQueue的阻塞FIFO队列。

5
需要类似于Java的LinkedBlockingQueue的东西。
感兴趣的方法:messageQueue.poll(120000, TimeUnit.MILLISECONDS);的含义是,尝试获取项目,并且如果在X个时间单位内仍然没有项目,则返回null。
还需要保证FIFO。
经过一些搜索(但尚未测试):我找到了ConcurrentQueue(具有FIFO行为),BlockingCollection(FIFO或非FIFO?)。
1个回答

10

BlockingCollection可以与多种类型的集合一起使用。如果您没有手动传递特定类型的并发集合,它将使用ConcurrentQueue,这意味着它将按照您的预期进行操作。如果您想要使用并发堆栈类型或并发优先级队列,则可以使用通用名称BlockingCollection,而不是BlockingConcurrentQueue

如果您不相信我的话,所有这些都可以在MSDN页面上的BlockingCollection中找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接