[BlockingCollection<T>具有方便的static TakeFromAny方法,可让您使用多个集合“我想要这些集合中的任何一个下一个项目”。
BlockingCollection<T>
ChannelReader<T>没有等效项,因此,如果您确实想在一个流中使用多个通道-说要按1将收到的项目打印到控制台1,怎么办?
ChannelReader<T>
快速路径很简单,但是慢速路径非常棘手。下面的实现返回一个Task<ValueTuple<T, int>>,其中包含从一个读取器中获取的值以及该读取器在输入数组中从零开始的索引。
Task<ValueTuple<T, int>>