MSDN在http://msdn.microsoft.com/en-us/library/dd267312.aspx声明。。。
"BlockingCollection的默认集合类型是ConcurrentQueue"
这是否意味着,当我在集合上运行"GetConsumingEnumerable()"时,所拉的项将从队列中退出,使用后将标记为GC?
换句话说。。。在下面的片段中,
foreach (var item in collection.GetConsumingEnumerable())
{
//do something with item
}
循环迭代后项会发生什么?
这些项将从集合中删除,如果不存在对它们的其他引用,它们将有资格进行集合。
来自GetConsumingEnumerable:的文档
返回值
类型:System.Collections.Generic.IEnumerable<T>
从集合中删除并返回项目的IEnumerable<T>
(我的重点)