blockingcollection相关内容

ConcurrentDictionary 的列表顺序是否有保证?

我使用 ConcurrentDictionary 来存储日志行,当我需要向用户显示它们时,我调用 ToList() 来生成一个列表.但奇怪的是,有些用户在列表中最先收到最近的行,而逻辑上他们应该在最后. 这是因为 ConcurrentDictionary 不能保证 IEnumerate 接口上的持久顺序,或者可能是什么原因? 解决方案 No ConcurrentDictionary( ..

c#阻塞收集和线程

我不熟悉使用阻塞收集和线程,并希望确保我遵循最佳实践.我正在使用不是线程安全的第三方 API.我将同时向 API 发出多个请求,因此我需要将这些请求添加到队列中并一个接一个地处理它们.为此,我有一个阻塞集合: BlockingCollectionmyTasks = new BlockingCollection();private void myEventHandler(object sende ..

使用 BlockingCollection 对任务进行排队

我正在尝试创建一种将要运行的任务排队的方法,因此我尝试使用 BlockingCollection 来实现它.我发现的问题是每当我尝试添加 Task 时,任务都会执行.示例代码如下: private void button1_Click(object sender, EventArgs e){textBox2.Clear();for (int i = 0; i ();线程消费者线程 = 新线程(启 ..
发布时间:2021-09-04 19:37:53 C#/.NET

使用blockingcollect 写入文件

我有一个 tcp 侦听器,它侦听和写入来自服务器的数据.我使用了 BlockingCollection 来存储数据.这里我不知道文件什么时候结束.所以,我的文件流总是打开的. 我的部分代码是: 私有静态 BlockingCollectionBuffer = new BlockingCollection();过程(){var consumer = Task.Factory.StartNew( ..
发布时间:2021-06-21 20:02:05 C#/.NET

具有 BlockingCollection 的消费者/生产者看起来很慢

我正在通过下面的“生产者"从外部套接字连接获取数据. 我将数据放入BlockingCollection,然后由消费者读取.如果消费者在固定时间内没有收到数据,它无论如何都会触发,这样我的 ProcessDataOnGrid 就会在数据到达时或至少在 x 毫秒后执行某些操作. 问题是我已经读到 BlockingCollection 是首选方法,但看起来很慢. 从获取外部数据到调用 ..
发布时间:2021-06-15 19:54:32 C#/.NET

并发集合和唯一元素

我有一个带有重复元素的并发 BlockingCollection.如何修改它以添加或获取不同的元素? 解决方案 BlockingCollection 的默认后备存储是 ConcurrentQueue.正如其他人指出的那样,使用它添加不同的项目相当困难. 但是,您可以创建自己的集合类型来实现 IProducerConsumerCollection,并将其传递给 BlockingColl ..
发布时间:2021-06-14 18:53:12 C#/.NET

为什么在使用 Parallel.For 时会导致 ArgumentOutOfRangeException?

我尝试编写一些东西来散列数字,并根据列表检查它们以查看是否存在匹配的散列. 我使用 for 循环使这个工作正常,然后我决定尝试使用 Parallel.For 加快速度 - 不幸的是,这会导致我在调试时遇到问题的 ArgumentOutOfRangeException. 公共类HashCompare{私人字符串encryptedCardNumber;私有加密器加密器;私有 BlockingC ..
发布时间:2021-06-04 20:38:09 C#/.NET

BlockingCollection.TakeFromAny 方法是否适合构建阻塞优先级队列?

我需要构建一个阻塞优先级队列,我的预感是 TakeFromAny 可能是秘密成分,但是关于该方法的文档很少.它的目的/适当用途是什么? 我的要求是多个线程将添加到高优先级或低优先级队列中.一个线程会消耗这两个队列,总是在低优先级队列之前从高优先级队列中取出. BlockingCollection 或 TakeFromAny 方法很可能对我没有任何用处.如果是这样,那么将不胜感激指向正确 ..
发布时间:2021-06-04 20:02:30 C#/.NET

生产者消费者具有单独BlockingCollection的单独类

希望有人可以提供有关生产者/消费者模式的一些建议,尤其是如何最好地实现对所有生产者/消费者类实例 COMMON 的Queue/BlockingCollection? 让场景简化;认为我有; 单个Producer类 一个单一的Consumer类. 服务包含生产者和消费者实例的类班级.服务类只是告诉生产者/消费者开始和停止工作. 生产者将填充BlockingCollection ..
发布时间:2021-04-01 21:53:12 C#/.NET

如何加快矮胖的BlockingCollection实现

我已经多次使用 BlockingCollection 用于实现生产者/消费者模式,但是由于相关的开销,我在使用极其细粒度的数据时遇到了糟糕的性能.这通常迫使我通过对数据进行分块/分区来即兴创作,换句话说,是使用 BlockingCollection 而不是 BlockingCollection .这是最新示例.这是可行的,但是很丑陋且容易出错.我最终在生产者和使用者上都使用了 ..
发布时间:2021-04-01 20:14:54 C#/.NET

如何使用C#任务并行库和IProducerConsumerCollection实现通用回调?

我有一个组件,可以向基于Web的API提交请求,但是必须限制这些请求,以免违反API的数据限制.这意味着所有请求都必须通过队列以控制其提交速率,但是它们可以(并且应该)并发执行以实现最大吞吐量.每个请求都必须在将来的某个时候将某些数据返回到调用代码. 我正在努力创建一个不错的模型来处理数据返回. 使用BlockingCollection我不能仅仅从Schedule方法返回Task ..
发布时间:2020-11-13 05:17:38 C#/.NET

无法在第二轮中将项目添加到集合中

基本上,我的Windows服务应用程序中有一个blockcollection集合,每次我想向集合中添加4个项目然后对其进行处理。 第一轮没问题,但是第二轮失败了。 错误是 关于添加的内容,BlockingCollection已标记为完整。 我的代码: public static BlockingCollection ..
发布时间:2020-05-31 18:54:22 C#/.NET

使用BlockingCollection更新ObservableCollection

我订阅了一个服务,该服务将在收到新元素时引发一个事件,我将此元素添加到BlockingCollection. 我正在运行第二个线程,该线程将循环BlockingCollection以添加/更新可观察集合中的元素. 问题是您如何添加ObservableCollection? 我知道我不能只对这种类型的集合执行.add,因为它需要在UI线程上完成.因此,我尝试使用不同的ObservableCo ..
发布时间:2020-05-19 19:01:02 C#/.NET

在使用BlockingCollection作为队列的使用者中等待异步方法

我正在处理一个服务器端控制台应用程序,该应用程序从多个WCF服务接收数据,对其进行一些处理,然后使用SignalR通过单个连接将结果转发到IIS服务器. 我尝试使用生产者使用者模式来实现这一点,其中WCF服务是生产者,而使用SignalR发送数据的类是使用者.对于队列,我使用了 BlockingCollection . 但是,当使用await/async在使用者的while循环中发送数 ..
发布时间:2020-05-14 01:27:11 C#/.NET

是否可以确保ConcurrentDictionary的列表顺序?

我正在使用ConcurrentDictionary存储日志行,当需要向用户显示日志行时,我致电ToList()生成列表.但是奇怪的是,某些用户在列表中排在第一位,而在逻辑上应该排在最后. 这是因为ConcurrentDictionary不保证IEnumerate接口上的持久性顺序吗?或者是什么原因? 解决方案 否ConcurrentDictionary(和Dictionary)不能 ..

ArrayBlockingQueue和LinkedBlockingQueue之间有什么区别

使用ArrayBlockingQueue更好的情况是什么?使用LinkedBlockingQueue什么时候更好? 如果LinkedBlockingQueue默认容量等于MAX Integer,将它用作具有默认容量的BlockingQueue真的很有帮助吗? 解决方案 ArrayBlockingQueue 支持一个大小在创建后永远不会改变的数组。将容量设置为 Integer.MAX_VA ..
发布时间:2018-12-25 20:21:19 Java开发