作者: 巴拉那 | 来源:发表于2019-03-05 10:22 被阅读0次

    1.mutex

    api:

    pthread_mutex_lock

    pthread_mutex_unlock

    pthread_mutex_trylock

    type:

    #define PTHREAD_MUTEX_NORMAL      0

    #define PTHREAD_MUTEX_ERRORCHECK  1

    #define PTHREAD_MUTEX_RECURSIVE      2

    In computer science, the reentrant mutex (recursive mutexrecursive lock) is particular type of mutual exclusion (mutex) device that may be locked multiple times by the same process/thread, without causing a deadlock.

    #define PTHREAD_MUTEX_DEFAULT    PTHREAD_MUTEX_NORMAL

    2.读写锁

    PREFER_READER

    PREFER_WRITER

    https://cloud.tencent.com/developer/article/1087263

    https://code.woboq.org/userspace/glibc/nptl/pthread_rwlock_common.c.html#__pthread_rwlock_rdlock_full

    // TODO:把性能和读写mode的选择搞明白

    3.condition

    pthread_cond_wait

    pthread_cond_timedwait

    pthread_cond_signal

    pthread_cond_broadcast

    4.spin lock

    互斥锁机制下,如果资源被占用,资源申请者就会进入睡眠状态。自旋则不是

    -----

    low level lock

    https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/sparc/lowlevellock.h.html

    相关文章

      网友评论

          本文标题:

          本文链接:https://www.haomeiwen.com/subject/shsbuqtx.html