http://msdn.microsoft.com/en-us/library/dd267312.aspx 上的 MSDN 评论指出......
“BlockingCollection 的默认集合类型是 ConcurrentQueue”
这是否意味着当我在集合上运行“GetConsumingEnumerable()”时,拉出的项目正在从队列中出队,并且在使用后将被标记为 GC?
换句话说......在下面的片段中,
foreach (var item in collection.GetConsumingEnumerable())
{
//do something with item
}
循环迭代后 item 会发生什么?
最佳答案
这些项目将从集合中删除,如果不存在对它们的其他引用,它们将符合收集条件。
从 GetConsumingEnumerable 的文档中:
(我的重点)
关于c# - GetConsumingEnumerable 是否真的从 BlockingCollection 中删除了一个项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17279828/