Freigeben über


2.4.2 sections-Konstrukt

Die Abschnitte-Direktive identifizieren ein einfaches Arbeitsteilungs konstrukt, das einen Satz von Konstrukten angibt, die unter Threads in einem Team unterteilt werden sollen. Jeder Abschnitt wird einmal durch einen Thread im Team ausgeführt. Die Syntax der Abschnitte-Direktive sieht wie folgt aus:

#pragma omp sections [clause[[,] clause] ...] new-line
   {
   [#pragma omp section new-line]
      structured-block
   [#pragma omp section new-line 
      structured-block ]
...
}

Die Klausel ist eine der folgenden Aktionen aus:

(privatVariableListe**)**

(firstprivateVariableListe**)**

(lastprivateVariableListe**)**

Operator**(Verringerung:** Variable Liste**)**

nowait

Jeder Abschnitt wird von Abschnitt-Direktive vorangestellt, obwohl die Abschnitt-Direktive für den ersten Abschnitt optional sind. Die Abschnitt-Direktive muss innerhalb des lexikalischen Wertebereichs der Abschnitte-Direktive angezeigt werden. Es gibt eine implizite Grenze am Ende eines Abschnitte Konstrukts, es sei denn, nowait angegeben wird.

Einschränkungen für Abschnitte-Direktive lauten wie folgt:

  • Abschnitt-Direktive darf nicht außerhalb des lexikalischen Wertebereichs der Abschnitte-Direktive angezeigt werden.

  • Nur eine einzige nowait-Klausel kann auf Abschnitte-Direktive angezeigt werden.

Querverweise:

  • private, firstprivate, lastprivateund Verringerung-Klauseln finden 2.7.2 Abschnitt auf Seite 25.