关于Linux应用mutex的使用
互斥锁是通过锁的机制来实现线程间的同步问题。互斥锁的基本流程为:
int pthread_mutex_init(pthread_mutex_t * mutex , pthread_mutexattr_t * attr);
int pthread_mutex_destroy (pthread_mutex_t * mutex);
int pthread_mutex_lock (pthread_mutex_t * mutex );
int pthread_mutex_unlock (pthread_mutex_t * mutex );
int pthread_mutex_trylock (pthread_mutex_t * mutex );
说明:
pthread_mutex_trylock()函数进行加锁时,若此时已经被锁,则会返回EBUSY的错误码。
解锁前,互斥锁必须处于锁定状态;(1)必须由加锁的线程进行解锁。(2)当互斥锁使用完成后,必须进行清除。