【发布时间】:2019-08-27 11:28:03
【问题描述】:
我想使用 OpenMP 在 C++ 中并行化一个 for 循环。在那个循环中,我想打印一些结果:
#pragma omp parallel for
for (int i=0; i<1000000; i++) {
if (test.successful() == true) {
std::cout << test.id() << " " << test.result() << std::endl;
}
}
不使用 OpenMP 得到的结果:
3 23923.23
1 32329.32
2 23239.45
但是,我使用并行 for 循环得到以下结果:
314924.4244.5
434.
4343.43123
如何避免这样的输出?
【问题讨论】: