único
Permite especificar que uma seção de código deve ser executada em um único segmento, não necessariamente o thread mestre.
#pragma omp single [clauses]
{
code_block
}
Parâmetros
- clause(opcional)
Zero ou mais cláusulas.Consulte a seção de comentários para obter uma lista das cláusulas suportados pelo único.
Comentários
O único diretiva suporta as seguintes cláusulas de OpenMP:
O mestre diretiva permite especificar que uma seção de código deve ser executada somente no segmento mestre.
Para obter mais informações, consulte 2.4.3 simples construção.
Exemplo
// 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");
}
}