并行For循环。他们等待完成吗?

时间:2012-01-06 10:09:59

标签: c# .net parallel-processing

我有两个for循环。第二个循环必须必须在完成第一个循环后 >。

那么,如果我使用两个Parallel.For()循环,第二个循环会在完成第一个循环后运行吗?

1 个答案:

答案 0 :(得分:38)

是。所有操作完成后,Parallel.For才会返回。

如果你跑

Parallel.For(0, 5, i => Console.WriteLine("First {0}", i));
Console.WriteLine("First Finished");
Parallel.For(0, 5, i => Console.WriteLine("Second {0}", i));
Console.WriteLine("Second Finished");

输出

First 0
First 2
First 1
First 4
First 3
First Finished
Second 0
Second 4
Second 3
Second 2
Second 1
Second Finished

整数的顺序会有所不同,但第二个顺序总是在第一个之后。