Ale*_* S. 23 c# parallel-processing for-loop
这是microsoft为parallel提供的示例,我想知道如何为此代码配置最大线程数.
// A basic matrix multiplication.
// Parallelize the outer loop to partition the source array by rows.
System.Threading.Tasks.Parallel.For(0, matARows, i =>
{
for (int j = 0; j < matBCols; j++)
{
// Use a temporary to improve parallel performance.
double temp = 0;
for (int k = 0; k < matACols; k++)
{
temp += matA[i, k] * matB[k, j];
}
result[i, j] = temp;
}
}); // Parallel.For
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 42
您需要使用以下内容指定ParallelOptions值MaxDegreeOfParallelism:
例如:
Parallel.For(0, 10, new ParallelOptions { MaxDegreeOfParallelism = 4 }, count =>
{
Console.WriteLine(count);
});
Run Code Online (Sandbox Code Playgroud)