Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Specifies that only the master threadshould execute a section of the program.
#pragma omp master
{
code_block
}
Remarks
The master directive supports no OpenMP clauses.
The single directive lets you specify that a section of code should be executed on a single thread, not necessarily the master thread.
For more information, see 2.6.1 master Construct.
Example
// 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;
}
}
a[0] = 0 a[1] = 1 a[2] = 4 a[3] = 9 a[4] = 16