是否有辦法批量阻塞集合中的項目集合。 E.G.BlockingCollection <T>使用TPL進行批處理DataFlow
我有一個消息總線出版商調用 blockingCollection.Add()
並且是這樣創造了一個消費線程:
Task.Factory.StartNew(() =>
{
foreach (string value in blockingCollection.GetConsumingEnumerable())
{
Console.WriteLine(value);
}
});
但是,我只希望控制檯阻塞後寫集合上有10個項目,而GetConsumingEnumerable()總是在添加每個項目後觸發。我可以爲此編寫自己的隊列,但如果可能,我想使用阻塞集合?
Just append Take(10) –
@HansPassant:但是這會導致超過10日的物品不能被處理......? – Jon