** 1.writeLock ** 只需要判断状态C是否有读锁或者写锁 ** 2.readLock ** 判断是否拿到锁,有一下几点: 是否有写锁是否有写锁在排队首(为了防止写锁被饿死,因为读锁一般可以获取到锁)是否达到读锁最大限制抢锁修改高16位,读锁状态,是否成功? 读写锁使用同一个队列,状态C高16位记录读锁状态也是读锁个数,低16位记录写锁状态 ** * 以上是本人在学习过程中记录的东西,希望对你有用!!!!! **