Я немного запутался в следующем случае относительно контейнеров STL в C++. Такие операции, как push_back (.), Небезопасны для потоковой передачи, но в противном случае я думаю, что могут использоваться контейнеры STL.OpenMP Nested For Loop с контейнерами STL
std::vector<int> global_vector;
#pragma omp parallel for
for (int i = 0; i < height; i++)
{
for(std::vector<int>::iterator it = fvec.begin(); it != fvec.end(); it++)
{
// process here with some push_back into global_vector
global_vector.push_back(/*SOMETHING*/);
}
}
Глядя на приведенный выше код только Outter для петли параллельно, так что я интересно, будет толчок назад во внутренней цикл влияет делает нить небезопасно.
[c-openmp-parallel-for-loop-alternatives-to-stdvector] (http://stackoverflow.com/questions/18669296/c-openmp-parallel-for-loop-alternatives-to-stdvector/18671256 # 18671256) –