Utilizzo A.29 i costrutti di suddivisione del lavoro in un costrutto critico

Nell'esempio seguente viene illustrato l'utilizzo di un costrutto di suddivisione del lavoro in un oggetto critical costrutto.Questo esempio è conforme perché il costrutto di suddivisione del lavoro e critical il costrutto non è associata alla stessa area parallela.

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