请参考:
https://baike.baidu.com/item/int%20pthread_mutex_init/5253586?fr=aladdin
/
// 头文件部分
/
pthread_mutexattr_t mutex_attr;
pthread_mutex_t rw_mutex;
pthread_mutex_t access_mutex;
/
// 实现部分
/
DEV_82P33931_manager::DEV_82P33931_manager() {
pthread_mutexattr_init(&mutex_attr);
pthread_mutexattr_setpshared(&mutex_attr,PTHREAD_PROCESS_PRIVATE);
// 设置锁的类型
pthread_mutexattr_settype(&mutex_attr,PTHREAD_MUTEX_NORMAL);
pthread_mutexattr_setprotocol(&mutex_attr,PTHREAD_PRIO_NONE);
// pthread_mutexattr_setprioceiling(&mutex_attr,???);
pthread_mutexattr_setrobust_np(&mutex_attr,PTHREAD_MUTEX_ROBUST);
pthread_mutex_init(&(this->rw_mutex), &mutex_attr);
pthread_mutex_init(&(this->access_mutex), &mutex_attr);
}
DEV_82P33931_manager::~DEV_82P33931_manager() {
pthread_mutex_destroy(&rw_mutex);
pthread_mutex_destroy(&access_mutex);
pthread_mutexattr_destroy(&mutex_attr);
}