principal
Especifica que sólo el threadshould principal ejecuta una sección del programa.
#pragma omp master
{
code_block
}
Comentarios
la directiva de principal no admite ninguna cláusula de OpenMP.
La directiva de solo permite especificar que una sección de código debe ejecutarse en un subproceso, no necesariamente el subproceso principal.
Para obtener más información, vea Construcción principal 2.6.1.
Ejemplo
// 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;
}
}