Kee*_*ker 41 .net c# parallel-processing foreach
我Parallel.ForEach在我的代码中使用了一个.我的所有8个内核都达到了100%.这对于在服务器上运行的其他应用程序来说很糟糕.是否有可能将执行限制为4核心?
Flo*_*her 42
通过实例ParallelOptions与ParallelOptions.MaxDegreeOfParallelism设置为4 Parallel.ForEach.
然而,这可能在其他机器上没有意义,这些机器可能拥有比您更多或更少的核心.通常,您应该让框架决定并行度.
Jon*_*eet 25
您可以在通过ParallelOptions与MaxDegreeOfParallelism设置为4财产.
fub*_*ubo 13
以下是对其他答案不满意的人的一些代码
List<int> iList = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8 };
System.Threading.Tasks.ParallelOptions opt = new System.Threading.Tasks.ParallelOptions();
opt.MaxDegreeOfParallelism = 4; // << here the maximum of 4 cores
System.Threading.Tasks.Parallel.ForEach<int>(iList, opt, i =>
{
// do someting with parallelism 4
Console.WriteLine(i);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15746 次 |
| 最近记录: |