Condividi tramite


master

Specifica che solo il threadshould master esegue una sezione del programma.

#pragma omp master
{
   code_block
}

Note

master la direttiva non supporta clausole di OpenMP.

singolo la direttiva consente di specificare che una sezione di codice deve essere eseguito in un unico thread, non necessariamente il thread master.

Per ulteriori informazioni, vedere Costrutto master 2.6.1.

Esempio

// omp_master.cpp
// compile with: /openmp 
#include <omp.h>
#include <stdio.h>

int main( ) 
{
    int a[5], i;

    #pragma omp parallel
    {
        // Perform some computation.
        #pragma omp for
        for (i = 0; i < 5; i++)
            a[i] = i * i;

        // Print intermediate results.
        #pragma omp master
            for (i = 0; i < 5; i++)
                printf_s("a[%d] = %d\n", i, a[i]);
      
        // Wait.
        #pragma omp barrier

        // Continue with the computation.
        #pragma omp for
        for (i = 0; i < 5; i++)
            a[i] += i;
    }
}
  

Vedere anche

Riferimenti

Direttive e di OpenMP