(a)
#pragma omp parallel private(j)
{
   j = 0;
   #pragma omp for private(i)
   for (i = 0; i < 4; i++)
      printf ("j = %d\n", ++j);
}

(b)
j = 0;
#pragma omp parallel for private(i) shared(j)
for (i = 0; i < 4; i++)
   #pragma omp critical
   printf ("j = %d\n", ++j);

Example 1: (a) Induction variables; (b) synchronizing access to variable.

Back to Article