Поделиться через


A.29 Использование конструкций совместной работы в конструкции critical

В следующем примере демонстрируется использование рабочий-совместно, используя конструкцию in a 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++;
          }
        }
      }
    }
  }
}