singolo
Consente di specificare che una sezione di codice deve essere eseguito in un unico thread, non necessariamente il thread master.
#pragma omp single [clauses]
{
code_block
}
Parametri
- clause (facoltativo)
zero o più clausole.Vedere la sezione relativa alle osservazioni per un elenco delle clausole supportate da scegliere.
Note
singolo la direttiva supporta le clausole seguenti di OpenMP:
master la direttiva consente di specificare che una sezione di codice deve essere eseguito solo sul thread master.
Per ulteriori informazioni, vedere singolo costrutto 2.4.3.
Esempio
// 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");
}
}