2.6.3 barrier – direktiva
Bariéry směrnice synchronizuje všechny podprocesy v týmu.Při výskytu, každý podproces v týmu čeká všechny ostatní dosáhli tohoto bodu.Syntaxe bariéry směrnice je následující:
#pragma omp barrier new-line
Po všechny podprocesy v týmu došlo bariéry, začíná každý podproces v týmu provádění výkazů za překážku souběžně.Všimněte si, že protože bariéry směrnice nemá prohlášení jako součást jeho syntaxi jazyka C, existují určitá omezení na jeho umístění v programu.Viz Dodatku C pro formální gramatiky.Následující příklad ilustruje těchto omezení.
/* ERROR - The barrier directive cannot be the immediate
* substatement of an if statement
*/
if (x!=0)
#pragma omp barrier
...
/* OK - The barrier directive is enclosed in a
* compound statement.
*/
if (x!=0) {
#pragma omp barrier
}