码迷,mamicode.com
首页 > 其他好文 > 详细

mutex

时间:2017-09-06 23:50:51      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:错误   其他   属性   被占用   att   静态   互斥   默认   lock   

int pthread_mutex_destroy (pthread_mutex_t *__mutex);  
mutex为定义的变量,mutexattr是属性,若为默认属性,可传入NULL
2.如果互斥量是静态分配的,也可以通过常量进行初始化
pthread_mutex_t mlock = PTHREAD_MUTEX_INITIALIZER;

3.互斥量的使用
int pthread_mutex_trylock (pthread_mutex_t *__mutex);    
int pthread_mutex_lock (pthread_mutex_t *__mutex);    
int pthread_mutex_unlock (pthread_mutex_t *__mutex);  

通过pthread_mutex_lock()函数获得访问共享资源的权限,
如果已经有其他线程锁住互斥量,那么该函数会是线程阻
塞指定该互斥量解锁为止。 pthread_mutex_trylock()是
对应的非阻塞函数,如果互斥量已被占用,它会返回一个
EBUSY错误。访问完共享资源后,一定要通过pthread_mutex_unlock() 函数,
释放占用的互斥量。允许其他线程访问该资源。
互斥量的使用流程应该是:线程占用互斥量,然后访问共享资源,最后释放互斥量

mutex

标签:错误   其他   属性   被占用   att   静态   互斥   默认   lock   

原文地址:http://www.cnblogs.com/zgen1/p/7487553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!