master
Spécifie que seul le principal threadshould exécutent une section du programme.
#pragma omp master
{
code_block
}
Notes
La directive de page maître ne prend en charge aucune clauses OpenMP.
La directive de single vous permet de spécifier qu'une section de code doit être exécutée sur un thread unique, pas nécessairement le thread principal.
Pour plus d'informations, consultez 2.6.1 Construction master.
Exemple
// 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;
}
}