オブジェクトを別のスレッドからベクターに push_back したい。いいえ。スレッド数はマシンによって異なります。
#pragma omp parallel shared(Spaces, LookUpTable) private(LutDistribution, tid)
{
tid = omp_get_thread_num();
BestCoreSpaces.push_back( computeBestCoreSpace(tid, &Spaces, &LookUpTable, LutDistribution));
}
問題は、それが機能しているかどうかわからないことです。私はクラッシュしません。openMP を使用しています。openMP は何かをキューに入れていますか? おそらく、BestCoreSpaces.reserve(tid) でコンテナーのメモリを予約するか、BestCoreSpaces.assign(tid, Space) で要素の量を割り当てるだけで十分です。誰か助けてくれませんか?