Linux下C编程:线程互斥实例
/*编译时留意,要手动毗连库*/ #include <stdio.h> #include <pthread.h> #include <unistd.h> #include <stdlib.h> static int value = 0; pthread_mutex_t mutex; void func(void* args) { while(1) { pthread_mutex_lock(&mutex); sleep(1); value ++; printf("value = %d!\n", value); pthread_mutex_unlock(&mutex); } } int main() { pthread_t pid1, pid2; pthread_mutex_init(&mutex,NULL); if(pthread_create(&pid2,NULL,&func,NULL)) { return -1; } if(pthread_create(&pid1,NULL,&func,NULL)) { return -1; } while(1) sleep(0); return 0; }
编译时要手动毗连库:具体说明见:http://blog.csdn.net/muge0913/article/details/7340126
查察全套文章:http://www.bianceng.cn/Programming/C/201212/34807.htm