#include #include #include #include static int x; void * incrementer(void * tid) { int i = 0; for(i = 0; i < 1000; i++) { x++; printf("x from incrementer is %d\n", x); } pthread_exit(NULL); } void * decrementer(void * tid) { int i = 0; for(i = 0; i < 1000; i++) { x--; printf("x from decrementer is %d\n", x); } pthread_exit(NULL); } int main(int argc, char ** argv) { pthread_t incr, decr; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setschedpolicy(&attr, SCHED_RR); x = 0; pthread_create(&incr, &attr, incrementer, (void *) 1); pthread_create(&decr, &attr, decrementer, (void *) 2); pthread_join(incr, NULL); pthread_join(decr, NULL); printf("x is %d\n", x); return 0; }