Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

single

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
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.