ReentrantLock
- ReentrantLock可以替代synchronized
- ReentrantLock获取锁更安全
- 必须使用try…finally保证正确获取和释放锁
ReadWriteLock
- ReadWriteLock只允许一个线程写入
- ReadWriteLock允许多个线程同时读取
- ReadWriteLock适合读多写少的场景
ReentrantLock===>Condition
- Condition可以替代wait/notify
- Condition对象必须从ReentrantL ock对象获取
- ReentrantL.ock + Condition可以替代synchronized + wait/notify