次の方法で共有


A.29 critical コンストラクト内での動作共有コンストラクトの使用

critical コンストラクト内で work-sharing コンストラクトを使用する例を次に示します。この例は、work-sharing コンストラクトと critical コンストラクトが同じ並行領域にバインドされていないため、準拠しています。

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