【发布时间】:2012-03-05 08:40:03
【问题描述】:
我有一些代码,我想通过以下方式使用 OpenMP:
std::vector<int> v(1000);
# pragma omp parallel for
for (int i = 0; i < 1000; ++i) {
v[i] = i;
}
我已经读到 STL 向量容器在多个线程写入单个容器的情况下不是线程安全的,这意味着我需要在进行任何写入之前锁定向量;然而,我也被告知上面的写操作在某种程度上是“原子的”,所以上面没有竞争条件。有人可以澄清一下吗?
【问题讨论】:
-
检查允许多次读写的 concurrent_vector
标签: c++ multithreading stl vector openmp