一、互斥锁属性总体结构(先有全景)
pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_setXXX(&attr, ...); pthread_mutex_init(&mutex, &attr);互斥锁的行为不是固定的,而是由pthread_mutexattr_t决定。
二、最重要的 5 类互斥锁属性(工程必懂)
1️⃣ 互斥锁类型(type)——最重要
可选类型
pthread_mutexattr_settype(&attr, type);
| 类型 | 宏 | 工程意义 |
|---|---|---|
| 普通锁 | PTHREAD_MUTEX_NORMAL | 默认,性能最好 |
| 错误检测锁 | PTHREAD_MUTEX_ERRORCHECK | 防止低级错误 |
| 递归锁 | PTHREAD_MUTEX_RECURSIVE | 支持重入 | </