如何延迟OpenMp并行线程

时间:2013-02-28 19:46:15

标签: opencv openmp

在互联网上进行一些调查之后,OpenCV的Videocapture对象似乎不是多线程安全的。我发现的一个建议是延迟线程执行。考虑到omp中多部分的以下示例,我将如何实现这一点,其中我实际上在任何地方都使用相同的Videocapture对象:

  #pragma omp parallel{ 

  #pragma omp sections nowait
    { 
    #pragma omp section
    { loadframe }
    #pragma omp section
    { loadframe;}
    #pragma omp section
    { loadframe }
     }
   }

1 个答案:

答案 0 :(得分:0)

  MyClass* mc = new MyClass();
  #pragma omp parallel sections
  {
   #pragma omp section
   {
      #pragma omp critical
      {
             mc->myFunc();
      }
    }
      #pragma omp section
   {
        #pragma omp critical
         {
             mc->myFunc();
        }
  }
   }

also, here is a decent example of do's and dont's