// threadmutex.c - compile with gcc -Wall threadmutex.c -o threadmutex -lpthread #include #include #include #include #include #define THREADSCOUNT 3 pthread_t ts[THREADSCOUNT]; pthread_mutex_t mutex; struct { int x; int y;} foo; /*This is a global data structure shared by threads*/ void moo(int * a); int main(void) { int i; int * who; /* Create a mutex */ if (pthread_mutex_init(&mutex, NULL)) { perror("pthread_mutex_init"); exit(1);} /* Create threads */ for (i=0; i