Partilhar via


A.6 Usando a cláusula lastprivate

Às vezes, a execução correta depende do valor que a última iteração de um loop atribui a uma variável. Tais programas devem listar todas as variáveis como argumentos para uma lastprivate cláusula (seção 2.7.2.3 na página 27) para que os valores das variáveis são os mesmos quando o loop é executado em seqüência.

#pragma omp parallel
{
   #pragma omp for lastprivate(i)
      for (i=0; i<n-1; i++)
         a[i] = b[i] + b[i+1];
}
a[i]=b[i];

No exemplo anterior, o valor de i será igual ao final da região paralela n–1, como no caso seqüencial.