标签: c# multithreading producer-consumer
我有一堆线程产生对象(例如字符串)和一个线程消耗一批对象(例如序列化它们并发送远程服务器)。
我希望制作人能够尽快收集数据。它们永远不应该因为其他生产者而不是消费者而锁定。这可能吗?怎么样?
答案 0 :(得分:1)
您可以使用BlockingCollection,默认情况下会封装ConcurrentQueue。
ConcurrentQueue
BlockingCollection是一个提供的线程安全的集合类 以下功能: Producer-Consumer模式的实现。 从多个线程同时添加和获取项目。
BlockingCollection是一个提供的线程安全的集合类 以下功能:
Producer-Consumer模式的实现。
从多个线程同时添加和获取项目。