相关疑难解决方法(0)

使用Parallel.ForEach得到不同的求和结果

我有一个foreach循环,我正在并行化,我注意到一些奇怪的东西.代码看起来像

double sum = 0.0;

Parallel.ForEach(myCollection, arg =>
{
     sum += ComplicatedFunction(arg);
});

// Use sum variable below
Run Code Online (Sandbox Code Playgroud)

当我使用常规foreach循环时,我会得到不同的结果.内部可能存在更深层次的内容,ComplicatedFunctionsum变量可能会受到并行化的意外影响?

c# parallel-processing task

18
推荐指数
3
解决办法
8025
查看次数

标签 统计

c# ×1

parallel-processing ×1

task ×1