我写了两个简单的循环。
一种是使用标准“for”:
Stopwatch sw = Stopwatch.StartNew();
for (int i = 0; i < 1000000; i++)
{
Console.WriteLine(i);
}
sw.Stop();
Console.WriteLine(sw.Elapsed);
Console.ReadKey();
其次是使用 Parrallel.For,它应该更快:
sw.Restart();
Parallel.For(0,1000000,i =>
{
Console.WriteLine(i);
});
sw.Stop();
Console.WriteLine(sw.Elapsed);
不幸的是,第一个执行大约需要 53 秒,第二个执行大约需要 1 分 50 秒(!!!)。
为什么会这样,我做错了什么?