外观
ReentrantLock需要手动的加锁和释放.Synchronized是隐式加锁.
ReentrantLock可以响应中断.Synchronized不能响应中断.
ReentrantLock是API级别的.Synchronized是JVM级别.
ReentrantLock可以实现公平锁
ReentrantLock可以通过condition绑定多个条件
ReentrantLock是同步非阻塞.采用乐观并发策略.cas的设置state状态.Synchronized是同步阻塞.悲观的并发策略.
ReentrantLock是一个类,Synchronized是关键字
ReentrantLock发生异常的时候不会自己释放锁.需要在finally里面调用unlock.Synchronized会自己释放锁
实现
Synchronized锁升级
偏向锁->轻量级锁->重量级锁 (细节真有必要背吗)