我使用的是Producer-Consumer模式,我使用的BlockingCollection是生成数据并从中消耗数据的模式.我调用一个方法来生成数据,然后设置为BlockingCollection,CompleteAdding以便消费者使用来自的所有数据BlockingCollection.经过一些处理后,应用程序想要添加一些其他数据BlockingCollection,但它不能因为它被设置为CompleteAdding,如何设置CompleteAdding为false,或者如何从中消耗所有数据BlockingCollection,而不是等待ComleteAdding?
Jon*_*eet 16
你不能 - 整个调用点CompleteAdding就是说,"这个集合中不会再有任何数据了.一旦它空了,你就知道你已经完成了." 您要求的有点像是说:"在我关闭网络连接后,如何重新打开它以便我可以写更多数据?"
你想建议你应该重新考虑你的设计.也许你应该BlockingCollection在这一点上创造一个新的东西?或许你真的不想打电话CompleteAdding开始?