A.29 critical 构造内工作共享构造的使用

使用在 critical 构造中,的工作划分构造下面的示例演示。 ,因为的工作划分构造和 critical 构造不绑定到同一个并行区域,此示例是兼容的。

void f()
{
  int i = 1;
  #pragma omp parallel sections
  {
    #pragma omp section
    {
      #pragma omp critical (name)
      {
        #pragma omp parallel
        {
          #pragma omp single
          {
            i++;
          }
        }
      }
    }
  }
}