Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im folgenden Beispiel werden einige critical-Direktive (2.6.2 Abschnitt auf Seite 18).Im Beispiel wird ein Queuing Modell, in dem eine Aufgabe aus der Warteschlange entfernt und gearbeitet wird.Um mit denen mehrere Threads zu schützen, die die gleiche Aufgabe aus der Warteschlange zu entfernen, muss der aus der Warteschlange entfernende Vorgang in einem critical-Abschnitt.Da die beiden Warteschlangen in diesem Beispiel unabhängig sind, werden sie durch critical-Direktive mit unterschiedlichen Namen, Xaxis und Yaxisgeschützt.
#pragma omp parallel shared(x, y) private(x_next, y_next)
{
#pragma omp critical ( xaxis )
x_next = dequeue(x);
work(x_next);
#pragma omp critical ( yaxis )
y_next = dequeue(y);
work(y_next);
}