// demo interleavings/schedules // but no shared variables and no interfere #include #include #include #include int *x; int *y; // int MAX = 10; int MAX = 1000; C0() { int i; int tmp; for (i=1; i<=MAX; i++) { *x = *x + 1; printf("x = %d\n", *x); } exit(1); } C1() { int i; for (i=1; i<=MAX; i++) { *y = *y + 1; printf(" y = %d\n", *y); } // exit(1); } main() { int pid; x = (int *) malloc(sizeof(int)); y = (int *) malloc(sizeof(int)); *x = 0; *y = 0; pid = fork(); if (pid == 0) { C0(); } else { C1(); return 0; } }