6
我正在使用生产者 - 消费者问题并具有BlockingCollection,我生成数据并从中使用日期。我调用了一种方法来生成数据,并将blockingcollection设置为CompleteAdding,以便消费者从BC(blockingcollection)中消耗所有数据,并且在进行一些处理后,应用程序想要向BC添加一些其他数据,但它不能因为它被设置为CompleteAdding,我怎样才能将CompleteAdding设置为false,或者我如何使用BC中的所有数据,而不是等待ComleteAdding?在CompleteAdding之后添加到BlockingCollection被调用
谢谢。
但是,如果我不呼叫CompleteAdding,循环如何结束?因为我使用了一个循环.GetConsumingEnumerable()属性 – XandrUu
@XandrUu:它通常不会,因为你会输入更多的数据。如果你想要一个“完成这批”的想法,你可能要考虑一个定点值......或者每个批次都有一个集合。 –
@JonSkeet调用它的用例是什么,即:为什么你会限制自己说,这个集合是关闭的? – koenmetsu