Parallel.For(): 在循环外更新变量
- 论坛
- Parallel.For(): 在循环外更新变量
14 浏览
Parallel.For(): 在循环外更新变量
我正在研究新的.NET 4.0功能。为此,我尝试使用Parallel.For
和普通的for(x;x;x)
循环进行简单计算。
然而,大约有50%的时间我得到不同的结果。
long sum = 0; Parallel.For(1, 10000, y => { sum += y; } ); Console.WriteLine(sum.ToString()); sum = 0; for (int y = 1; y < 10000; y++) { sum += y; } Console.WriteLine(sum.ToString());
我猜测是线程试图同时更新"sum"的原因。
有没有明显的解决方法?