Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
Lets you specify that a section of code should be executed on a single thread, not necessarily the master thread.
#pragma omp single [clauses]
{
code_block
}
clause
(optional)
Zero or more clauses. See the Remarks section for a list of the clauses supported by single.
The single directive supports the following OpenMP clauses:
The master directive lets you specify that a section of code should be executed only on the master thread.
For more information, see 2.4.3 single Construct.
// omp_single.cpp
// compile with: /openmp
#include <stdio.h>
#include <omp.h>
int main() {
#pragma omp parallel num_threads(2)
{
#pragma omp single
// Only a single thread can read the input.
printf_s("read input\n");
// Multiple threads in the team compute the results.
printf_s("compute results\n");
#pragma omp single
// Only a single thread can write the output.
printf_s("write output\n");
}
}
read input
compute results
compute results
write output