A.9 Utilisation de directives simples
L'exemple suivant illustre la directive d' single (section 2.4.3 à la page 15). Dans l'exemple, un seul thread (généralement le premier thread qui rencontre la directive d' single ) imprime le message de progression. L'utilisateur ne doit effectuer aucune hypothèses quant à laquelle le thread exécute la section d' single . Tous les autres threads ignorent la section d' single et arrêtera au cloisonnement à la fin de l'élément d' single . Si d'autres threads peuvent continuer sans attendre que le thread s'exécutant la section d' single , une clause d' nowait peut être spécifiée dans la directive d' single .
#pragma omp parallel
{
#pragma omp single
printf_s("Beginning work1.\n");
work1();
#pragma omp single
printf_s("Finishing work1.\n");
#pragma omp single nowait
printf_s("Finished work1 and beginning work2.\n");
work2();
}