A.9 Verwenden einzelner Direktiven

Im folgenden Beispiel wird die single-Direktive (2.4.3 Abschnitt auf Seite 15).Im Beispiel werden nur ein Thread (normalerweise der erste Thread, der die single-Direktive trifft), die Statusmeldung.Der Benutzer ausführen darf keine Annahmen über deren Thread den single-Abschnitt ausführt.Alle anderen Threads überspringenden single-Abschnitt und überwachen an der Grenze am Ende des single Konstrukts auf.Wenn andere Threads fortsetzen können, ohne auf den Thread zu warten, der den single-Abschnitt ausgeführt wird, kann eine nowait-Klausel auf den single-Direktive angegeben sind.

#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();
}