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.