如果线程1对mutex加锁,那么可以在线程2中对这个mutex解锁,不要求一定是同一个线程完成必须同时完成加锁和解锁。
Demo:
#include#include #include #define N 1 //互斥量 就是锁 pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; void * myThread(void *arg){ int id = *(int *)arg; int i; //printf("current thread is :%dn",id); printf("child thread locked: %dn",id); //线程操作前要加锁 pthread_mutex_lock(&mutex); printf("child thread unlocked: %dn",id); sleep(100); for(i=0;i


![[C][Linux] pthread mutex 加解锁 [C][Linux] pthread mutex 加解锁](http://www.mshxw.com/aiimages/31/629998.png)
