Sychronized和ReentrantLock的区别
- sychronized是一个关键字,ReentrantLock是一个类
- sychronized会自动的加锁和释放锁,ReentrantLock需要程序员手动加锁和释放锁
- sychronized的底层是JVM层面的锁,ReentrantLock是API层面的锁
- sychronized是非公平锁,ReentrantLock可以选择公平锁和非公平锁
- sychronized锁的是对象,锁信息保存在对象头中,ReentrantLock通过代码中int类型的state标识来标识锁的状态
- sychronized底层有一个锁升级的过程。
评论区