2017-07-17 25 views
1

我有一个ID列表,可以说有1000个。线程块

我要开始为每一个线程在任何时候

我想用一个LINQ的结果集寻呼运行的10最大,但我将失去的10运行所有的时间。

我如何能保持10个线程一直运行,直到所有的记录都处理

+2

' Parallel.For'和'Parallel.ForEach'是你的朋友... – Gusman

回答

7

我建议使用并行LINQPLINQ),像这样的任何建议:

List<int> IDs = ... 

IDs 
    .AsParallel() 
    .WithDegreeOfParallelism(10) 
    .ForAll(id => /*TODO: put relevant code here*/); 
+0

钉着它,这正是我所期待的。 谢谢。 –