一、读锁是(多线程)共享锁,是如何记录重入次数的?二、写饥饿、写降级 一、读锁是(多线程)共享锁,是如何记录重入次数的?写锁是独占锁,可以使用state记录重入次数。但是读锁是共享锁,记录重入,就无法仅使用state记录重入信息了。读锁信息。使用state高16位记录获取读锁的的线程数。重入次数使用每个线程的ThreadLocal记录。 读锁的第一个线程单独处理。使用firstReader记录第一个线程、firstReaderHolderCount记录重入次数 二、写饥饿、写降级读锁期间,不允许写锁 StampedLock乐观锁,读锁允许加入写锁。