面试题:synchronized 和 lock 的区别?用新的lock有什么好处 ?
1. 原始构成
synchronized时关键字属于JVM层面
monitorenter(底层是通过monitor对象来完成的,其实wait/notify等方法与俩与monitor对象,只有在同步块或方法种才能调wait/notify等方法)
lock时具体的类(java.util.concurrent.locks.lock)时API层次的类
2. 使用方法
synchronized 不需要手动释放锁,自动释放
ReentrantLock 需要用户手动释放,否则会产生死锁,try/finally
原创
2020-12-09 21:12:01 ·
221 阅读 ·
0 评论