<b>(a)</b> #pragma omp parallel private(j) { j = 0; #pragma omp for private(i) for (i = 0; i < 4; i++) printf ("j = %d\n", ++j); } <b>(b)</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.