| title |
single | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.reviewer |
|
| ms.suite |
|
| ms.technology |
|
| ms.tgt_pltfrm |
|
| ms.topic |
article |
| f1_keywords |
|
| dev_langs |
|
| helpviewer_keywords |
|
| ms.assetid |
85cf94fb-cb9c-4d82-8609-adffa9f552e1 |
| caps.latest.revision |
11 |
| author |
mikeblome |
| ms.author |
mblome |
| manager |
ghogen |
| translation.priority.ht |
cs-cz |
de-de |
es-es |
fr-fr |
it-it |
ja-jp |
ko-kr |
pl-pl |
pt-br |
ru-ru |
tr-tr |
zh-cn |
zh-tw |
|
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.
Remarks
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
Directives