Skip to content
variables.c 831 B
Newer Older
#include <stdio.h>

int main(void)
{
    int var1 = 1, var2 = 2;

    #pragma omp parallel private(var1, var2)
    {
        printf("Region 1: var1=%i, var2=%i\n", var1, var2);
        var1++;
        var2++;
    }
    printf("After region 1: var1=%i, var2=%i\n\n", var1, var2);

    #pragma omp parallel firstprivate(var1, var2)
    {
        printf("Region 2: var1=%i, var2=%i\n", var1, var2);
        var1++;
        var2++;
    }
    printf("After region 2: var1=%i, var2=%i\n\n", var1, var2);

    #pragma omp parallel            /* same as omp parallel shared(var1, var2) */
    {
        printf("Region 3: var1=%i, var2=%i\n", var1, var2);
        /* Note that this introduces the data race condition! */
        var1++;
        var2++;
    }
    printf("After region 3: var1=%i, var2=%i\n\n", var1, var2);

    return 0;
}