找到一份 pthread_mutex_lock ,但是跟你的不一定一样 ... (这个版本也很多,跟操作系统等等因素有关),可以看一眼。 __data 里, 大概 __lock 为 0 是没有锁,非 0 是有锁的。 __count 用于递归锁,递归加锁的时候会自增。 __owner 拥有锁的线程标识。(根据 mutex 类型不同,貌似有时线程标识会直接放 __lock 里) __kind 锁类型(很多 ......) 随便看了一下,难免错漏。预知详情,自己看源码吧 ....
找到一份 pthread_mutex_lock ,但是跟你的不一定一样 ... (这个版本也很多,跟操作系统等等因素有关),可以看一眼。
__data 里,
大概 __lock 为 0 是没有锁,非 0 是有锁的。
__count 用于递归锁,递归加锁的时候会自增。
__owner 拥有锁的线程标识。(根据 mutex 类型不同,貌似有时线程标识会直接放 __lock 里)
__kind 锁类型(很多 ......)
随便看了一下,难免错漏。预知详情,自己看源码吧 ....