我希望您能帮我翻译以下内容:
在这种情况下,如果列表中的项目数量在初始化后不会更改(集合内的阻塞列表的内容当然会更改),那么使用
我想要维护一个包含多个BlockingCollections的列表。
List<BlockingCollection<ExtDocument>> a = new List<BlockingCollection<ExtDocument>>();
检查子线程中是否有任何“队列”仍有待处理的项目:
if (a.Where(x => x.IsAddingCompleted).Count > 0)
在这种情况下,如果列表中的项目数量在初始化后不会更改(集合内的阻塞列表的内容当然会更改),那么使用
List<T>
是否线程安全?或者我应该选择一个BlockingCollection数组
或以下结构:BlockingCollection<BlockingCollection<workitem>> a = new BlockingCollection<BlockingCollection<workitem>>();
List<T>
。这样可以更清晰地表明项目数量不会改变。 - CodesInChaosIReadOnlyList<T>
(顺便说一下,T[]
继承了它)。 - CaramirielImmutableList<T>
或者ImmutableArray
。 - Yuval Itzchakov