对于单一生产者,单一消费者应该使用BlockingCollection还是ConcurrentQueue?
关注:
http://msdn.microsoft.com/en-us/library/system.collections.concurrent.aspx
答案 0 :(得分:1)
你可能可以使用其中任何一个。虽然你说如果使用ConcurrentQueue
,那么你必须在队列为空时执行旋转等待。如果你期望生产者和消费者之间的滞后时间短,那可能并不是那么糟糕。最后,我认为你会发现BlockingCollection
对你的场景更加柔韧。它毕竟是生产者 - 消费者模式的首选数据结构。有几种不同的方法可以解决无限期等待问题。
null
值在此处可以正常工作。CancellationToken
机制取消阻止Take
方法。答案 1 :(得分:-4)