Есть ли способ собрать коллекцию элементов из блокирующей коллекции. НАПРИМЕР.
У меня есть издатель шины обмена сообщениями, вызывающий blockingCollection.Add()
И потребляющий поток, который создается следующим образом:
Task.Factory.StartNew(() =>
{
foreach (string value in blockingCollection.GetConsumingEnumerable())
{
Console.WriteLine(value);
}
});
Однако я хочу, чтобы консоль записывалась только после того, как в блокирующей коллекции будет 10 элементов, тогда как GetConsumingEnumerable() всегда срабатывает после добавления каждого элемента. Я мог бы написать свою собственную очередь для этого, но я хотел бы использовать коллекцию блокировки, если это возможно?
BatchBlock
не является потокобезопасным (см. нижнюю часть связанной страницы). 02.05.2015