class Program{
static int c = 0;
static void Main(string[] args)
{
Parallel.For(0, 20, dosth);
}
static void dosth(int x)
{
Console.WriteLine(c++);
}
}
输出结果是0-19的整数, 问题是为何这些整数的顺序是杂乱无章的,不是应该从小到大排列么
并行就相当于20个人一起赛跑,但是跑道只有5条,这时候线程就会抢占资源,所以输出是无序的。
一般来说,开发的时候如果对执行顺序有要求也不会用并行编程。
都是在前一次的基础加1,就算是并行也会有先后的,20个人跑步比赛,只是一起起跑,就算是一起到达,还是有毫秒或者是微秒的时间差