我是OpenMP初学者,我在OpenCV上使用它。我想知道以下代码是否是线程安全的(我省略了读取操作以保持代码MCV):
cv::Mat allDescriptors;
#pragma omp parallel
{
cv::Mat privateallDescriptors;
#pragma omp for nowait
for(int i=0;i<fileList.size();i++) {
//some reading operation saved in descriptors
privateallDescriptors.push_back(descriptors);
}
#pragma omp critical
allDescriptors.push_back(privateallDescriptors);
}
写作部分对我来说似乎很安全,但阅读部分不可能?