【发布时间】:2017-11-30 00:40:53
【问题描述】:
我有一个并发的 BlockingCollection 重复元素。如何修改它以添加或获取不同的元素?
【问题讨论】:
-
添加不同的元素似乎是surprisingly hard,如果不是不可能的话。
BlockingCollection确实实现了IEnumerable<T>,所以你可以使用Distinct()。 -
您可以使用 GertArnold 链接的 StackOverflow 问题中提供的代码,但在 IProducerConsumerCollection 的 TryAdd 和 TryTake 实现中始终返回 true。这会奏效。我知道这是一种糟糕的形式,但它会 起作用,而且 BlockingCollection 已经打破了形式,因为它会引发异常。真烦人。
标签: c# parallel-processing blockingcollection