A.6 Utilizar la cláusula de lastprivate
La ejecución correcta depende a veces el valor que la última iteración de las asignaciones de un bucle a una variable.Tales programas deben enumerar todas las variables como argumentos a una cláusula de lastprivate (sección 2.7.2.3 en la página 27) de modo que los valores de las variables son iguales que cuando el bucle se ejecuta secuencialmente.
#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];
En el ejemplo anterior, el valor de i al final de la región paralela será igual que n–1, como en el caso secuencial.