BlockingCollection<T>类的Documentation有如下说明: Always call Dispose before you release your last referenceto the until the garbage collector calls the BlockingCollectionC#中BlockingCol
我尝试通过将ConcurrentDictionary包装在BlockingCollection中来实现它,但似乎没有成功。我知道一个变量声明适用于BlockingCollection,如ConcurrentBag<T>、ConcurrentQueue<T>等。因此,要创建包装在BlockingCollection中的ConcurrentBag,我将像这样声明和实例化:
BlockingCollection<int> bag = new BlockingCollection</em
这通常迫使我通过分组/分区数据来即兴发挥作用,换句话说,使用BlockingCollection<T[]>而不是BlockingCollection<T>。这是一个。这是可行的,但它是丑陋和容易出错。因此,我有了实现一个块状BlockingCollection的想法,它将在内部处理所有这些复杂的问题,并将与现有BlockingCollection的相同简单接口具体化。public class ChunkyBlockingCollection1<T> private