Directiva de 2.6.3 barreras
la directiva de barrera sincroniza todos los subprocesos en un equipo.Cuando se encuentra, cada subproceso del equipo espera hasta que todos los demás hayan alcanzado este punto.La sintaxis de la directiva de barrera es la siguiente:
#pragma omp barrier new-line
Después de que todos los subprocesos del equipo hayan encontrado la barrera, cada subproceso del equipo se inicia ejecutando las instrucciones después de la directiva de la barrera en paralelo.Dado que la directiva de barrera no tiene instrucciones de lenguaje de C/C++. como parte de la sintaxis, hay algunas restricciones en su posición dentro de un programa.Vea Apéndice C para la gramática formal.El ejemplo siguiente muestra estas restricciones.
/* 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
}