日期:2014-05-16 浏览次数:20728 次
本文出自http://www.wenbanana.com/?p=446稻草人博客,欢迎访问!
互斥
简单地理解就是,一个线程进入工作区后,如果有其他线程想要进入工作区,它就会进入等待状态,要等待工作区内的线程结束后才可以进入。
基本函数
(1) pthread_mutex_init函数
原型:int pthread_mutex_init ( pthread_mutex_t *mutex, const pthread_mutexattr_t* attr);
描述:设置互斥量的属性
参数:第一个参数:预先声明的pthread_mutex_t对象指针
第二个参数:互斥锁属性,NULL表示使用默认属性
返回值:成功时返回0, 失败时返回一个错误代码
(2) pthread_mutex_lock函数
原型:int pthread_mutex_lock ( pthread_mutex_t *mutex );
描述:pthread_mutex_lock返回时,互斥锁被锁定,如果这个互斥锁被一个线程锁定和拥有,那么另一个线程要调用这 个函数会进入堵塞状态(即等待状态),直到互斥锁被释放为止。
返回值:成功时返回0, 失败时返回一个错误代码
(3) pthread_mutex_unlock函数
原型:int pthread_mutex_unlock ( pthread_mutex_t *mutex );