分享

各种Mutex(互斥量)的区别(转载)

 zhouADNjj 2014-03-20
原文: http://blog.csdn.net/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  即纠错锁

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多