Linux下一个简单的多线程互斥锁的例子
来源:互联网 发布:sqlserver数据库连接 编辑:程序博客网 时间:2024/05/19 21:40
#include <stdio.h>#include <pthread.h>pthread_mutex_t Device_mutex ;int count=0;void thread_func1(){ while(1) { pthread_mutex_lock(&Device_mutex); printf("thread1: %d\n",count); pthread_mutex_unlock(&Device_mutex); count++; sleep(1); }}void thread_func2(){ while(1) { pthread_mutex_lock(&Device_mutex); printf("thread2: %d\n",count); pthread_mutex_unlock(&Device_mutex); count++; sleep(1); }}int main(){ pthread_t thread1, thread2; pthread_mutex_init(&Device_mutex,NULL); if(pthread_create(&thread1,NULL,(void*)thread_func1,NULL) == -1){printf("create IP81 Thread error !\n");exit(1);}sleep(1);if(pthread_create(&thread2,NULL,(void *)thread_func2,NULL) == -1){printf("create IP81_2 Thread error!\n");exit(1);}sleep(1);pthread_join(thread1,NULL);pthread_join(thread2,NULL);pthread_mutex_destroy(&Device_mutex);return 0;}