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;}