Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La richiesta direttiva di regole di associazione per un oggetto barriera direttiva da associare a un tipo più vicina parallel direttiva.Per ulteriori informazioni sull'associazione direttiva, vedere parte 2,8 nella pagina 32.
Nell'esempio seguente, la chiamata da principale in sub2 è conforme perché barriera (in sub3) associa all'area parallela in sub2.la chiamata da principale in sub1 è conforme perché barriera associazioni all'area parallela nella subroutine sub2.la chiamata da principale in sub3 è conforme perché barriera non è associato ad alcuna area parallela e viene ignorato.Si noti inoltre che barriera sincronizza unicamente il team di thread nell'area parallela di inclusione e di non tutti i thread creati in sub1.
int main()
{
sub1(2);
sub2(2);
sub3(2);
}
void sub1(int n)
{
int i;
#pragma omp parallel private(i) shared(n)
{
#pragma omp for
for (i=0; i<n; i++)
sub2(i);
}
}
void sub2(int k)
{
#pragma omp parallel shared(k)
sub3(k);
}
void sub3(int n)
{
work(n);
#pragma omp barrier
work(n);
}