原文:
http://blog.youkuaiyun.com/onlyou930/article/details/6432206
各种Mutex的区别如下表:
| 锁类型 | 初始化方式 | 加解锁特征 | 调度特征 |
| 普通锁 | PTHREAD_MUTEX_INITIALIZER | 同一线程可重复加锁,解锁一次释放锁 | 先等待锁的进程先获得锁 |
| 嵌套锁 | PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP | 同一线程可重复加锁,解锁同样次数才可释放锁 | 先等待锁的进程先获得锁 |
| 纠错锁 | PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP | 同一线程不能重复加锁,加上的锁只能由本线程解锁 | 先等待锁的进程先获得锁 |
| 自适应锁 | PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP | 同一线程可重加锁,解锁一次生效 | 所有等待锁的线程自由竞争 |
windows支持的锁
PTHREAD_MUTEX_RECURSIVE_NP即嵌套锁
linux支持的锁
PTHREAD_MUTEX_FAST_NP即 普通锁
PTHREAD_MUTEX_RECURSIVE_NP即嵌套锁
PTHREAD_MUTEX_ERRORCHECK_NP即纠错锁
OS_APPLE || OS_S60 || OS_ANDROID支持的锁
PTHREAD_MUTEX_NORMAL即普通锁
PTHREAD_MUTEX_RECURSIVE即嵌套锁
PTHREAD_MUTEX_ERRORCHECK即纠错锁
本文详细介绍了Mutex的不同类型,包括普通锁、嵌套锁、纠错锁和自适应锁的特点及应用场景,提供了针对不同需求选择合适Mutex的指导。
693

被折叠的 条评论
为什么被折叠?



