c#并行for循环

本文关键字:循环 for 并行 | 更新日期: 2023-09-27 18:16:39

我想我不理解Parallel for循环。当我尝试这个程序

    Parallel.For(1, 20, i =>
    {
        Thread.Sleep(200);
        Console.WriteLine(i);
    }); 

它会吐出:

1
10
19
2
11
4
3
12
5
6
13
17
7
14
18
8
15
9
16

我想做的是有一个限制为20个线程的for循环,并让它像这样打印出来,1, 2, 3, 4, 5, 6, 7, 8, 9, 10 . .等

c#并行for循环

当并行运行循环时,您不再保证结果的顺序。这几乎就是多线程101:)

如果您需要保证排序,请避免副作用并订购结果。