一、pthread结构中获取tid 这个问题是由于很多时候我们都是通过gettid来获得一个线程的tid,其实这个是一个非常简单的系统调用,但是即使它非常简单,我们还是要执行进行系统调用而引入的寄存器保存/恢复等操作。但是,在C库的pthread库的实现过程中,我们可以看到,用户态是肯定保存了一个线程的tid的,如果我们能够通过用户态...
默认属性是PTHREAD_MUTEX_TIMED_NP。下面看源码: 代码语言:javascript 复制 //pthread_mutex_t 互斥量属性//PTHREAD_MUTEX_TIMED_NP,这是缺省值,也就是普通锁。首先进行一次CAS,如果失败则陷入内核态然后挂起线程//PTHREAD_MUTEX_RECURSIVE_NP,可重入锁,允许同一个线程对同一个锁成功获得多次,并通过多次unlock解锁。