各位看官们,大家好,上一回中咱们说的是线程同步之信号量的例子,这一回咱们说的例子是:线程同步之互斥量。闲话休提,言归正转。让我们一起talk C栗子吧!
看官们, 今天我们将介绍使用互斥量进行线程同步。互斥量的核心操作是加锁/解锁操作,我们可以使用相关的函数来进行加锁/解锁操作。接下来我们介绍与互斥量相关的函数。
int pthread_mutex_init (pthread_mutex_t *__mutex,const pthread_mutexattr_t *__mutexattr)
该函数用来对互斥量进行初始化。该函数有两个参数,接下来我们分别介绍他们。
int pthread_mutex_destroy (pthread_mutex_t *__mutex)
int pthread_mutex_lock (pthread_mutex_t *__mutex)
使用该函数时需要注意以下两点事项:
int pthread_mutex_trylock (pthread_mutex_t *__mutex)
该函数可以看作是pthread_mutex_lock函数的补充,它对互斥量进行尝试性加锁操作,尝试性的含义就是说,如果互斥量已经被加锁,那么它不会去对互斥量进行重复加锁操作,因此,现线程不会被阻塞,更不会发生死锁,而是返回EBUSY。
int pthread_mutex_unlock (pthread_mutex_t *__mutex)
各位看官,关于线程同步之互斥量的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。
一起talk C栗子吧(第一百一十五回:C语言实例--线程同步之互斥量一)
原文:http://blog.csdn.net/talk_8/article/details/50613901