Я хочу вставить объект в вектор из разных потоков. Нет. ниток зависит от машины.
#pragma omp parallel shared(Spaces, LookUpTable) private(LutDistribution, tid)
{
tid = omp_get_thread_num();
BestCoreSpaces.push_back( computeBestCoreSpace(tid, &Spaces, &LookUpTable, LutDistribution));
}
Проблема в том, что я не уверен, что это работает. У меня не бывает сбоев. Я использую опенМП. OpenMP ставит что-то в очередь? Возможно, достаточно зарезервировать память для контейнера с помощью BestCoreSpaces.reserve(tid) или назначить количество элементов с помощью BestCoreSpaces.assign(tid, Space). Кто-нибудь может мне помочь?