C#: need a blocking FIFO queue similar to Java#39;s LinkedBlockingQueue(C#:需要一个类似于 Java 的 LinkedBlockingQueue 的阻塞 FIFO 队列)
问题描述
需要与 java 的 LinkedBlockingQueue
类似的东西.
need something similiar with java's LinkedBlockingQueue
.
感兴趣的方法:messageQueue.poll(120000, TimeUnit.MILLISECONDS);
意思是..尝试获取项目..如果在 X 单位时间内您仍然没有项目..返回 null
method of interest: messageQueue.poll(120000, TimeUnit.MILLISECONDS);
meaning ..try to get item..and if in X unit of time you still have no item..return null
that + i 必须是 FIFO
that + i must be FIFO
经过一番谷歌搜索(但尚未测试):我发现 ConcurrentQueue(具有 FIFO 行为)、BlockingCollection(FiFO 或没有 FIFO??)
after some googling (but havent yet tested): i found ConcurrentQueue (has FIFO behaviour), BlockingCollection (FiFO OR no FIFO??)
推荐答案
BlockingCollection
可以与任意数量的不同类型的集合一起使用.如果您不手动传入特定类型的并发集合,它将使用 ConcurrentQueue
,这意味着它将完全按照您的意愿进行操作.您可以使用并发堆栈类型,或根据需要使用并发优先级队列,这就是它使用通用名称(例如 Blocking Collection)而不是 BlockingConcurrentQueue 的原因.
BlockingCollection
can be used with any number of different types of collections. If you don't manually pass in a specific type of concurrent collection it will uses a ConcurrentQueue
, meaning it will do exactly what you want. You can uses a concurrent stack type, or a concurrent priority queue if you want, which is why it uses a general name such as Blocking Collection, and not BlockingConcurrentQueue.
如果您不想相信我的话,所有这些都列在了 BlockingCollection
的 MSDN 页面上.
All of this is listed on the MSDN page for BlockingCollection
if you don't want to take my word for it.
这篇关于C#:需要一个类似于 Java 的 LinkedBlockingQueue 的阻塞 FIFO 队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:C#:需要一个类似于 Java 的 LinkedBlockingQueue 的阻塞 FIFO 队列
基础教程推荐
- MS Visual Studio .NET 的替代品 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- rabbitmq 的 REST API 2022-01-01