我有一个foreach循环,我正在并行化,我注意到一些奇怪的东西.代码看起来像
double sum = 0.0;
Parallel.ForEach(myCollection, arg =>
{
sum += ComplicatedFunction(arg);
});
// Use sum variable below
Run Code Online (Sandbox Code Playgroud)
当我使用常规foreach循环时,我会得到不同的结果.内部可能存在更深层次的内容,ComplicatedFunction但sum变量可能会受到并行化的意外影响?