mutex
Posted TO_ZG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mutex相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章