C# 哪个集合使用多个生产者和一个使用者

本文关键字:一个 使用者 集合 生产者 | 更新日期: 2023-09-27 18:35:39

我有一堆线程生成对象(例如字符串)和一个线程消耗一批对象(例如序列化它们并向你发送远程服务器)。

我希望生产者能够尽快获取数据。他们永远不应该因为其他生产者而锁定,即使是消费者。这可能吗?如何?

C# 哪个集合使用多个生产者和一个使用者

您可以使用 BlockingCollection,默认情况下它会包装一个ConcurrentQueue

BlockingCollection 是一个线程安全的集合类,它提供 以下特点:

生产者-消费者模式的实现。

从多个线程并发添加和获取项目。