1. lock锁家族关系图
(1)lock接口最常见的实现有ReadLock、WriteLock,ReentrantLock三个,其中ReadLock、WriteLock是ReentrantReadWriteLock内部的静态类。
(2)ReentrantReadWriteLock实现类ReadWriteLock接口,并通过操作内部类ReadLock和WriteLock来实现读写分离。
2. 为什么要用lock锁?
因为它是基于java代码实现的(synchronized基于JVM),可以手动加锁和释放锁,给了编程更大的灵活性。