首页 > 其他 > 详细

mutex

时间:2017-09-06 23:32:38      阅读:227      评论:0      收藏:0      [点我收藏+]

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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!