【发布时间】:2011-08-08 15:54:52
【问题描述】:
我正在尝试并行化以下函数(伪代码):
vector<int32> out;
for (int32 i = 0; i < 10; ++i)
{
int32 result = multiplyStuffByTwo(i);
// Push to results
out.push_back(result);
}
当我现在并行化 for 循环并将 push_back 部分定义为关键路径时,我遇到的问题是(当然)结果的输出顺序并不总是正确的。如何让线程运行在 for 循环的最后一行以正确的顺序执行代码?谢谢!
【问题讨论】:
标签: c++ openmp parallel-processing