Synchronized和ReentrantLock有什么不同之处呢?
下文笔者讲述Synchronized和ReentrantLock的不同之处,如下所示:
1.实现方式不同 Synchronized是JVM层面的关键字 ReentrantLock是API层面 2.可修改对象范围不同 Synchronized可以修饰代码块和方法 ReentrantLock只能用于代码块 3.操作方式不同 Synchronized不需要手动释放锁 ReentrantLock需要手动释放锁 4.锁方式不同 Synchronized是非公平锁 ReentrantLock 可以通过参数指定为公平或者非公平 5.中断方式不同 Synchronized等待不能中断 ReentrantLock 等待可以中断,tryLock 可以设置等待时长; 6.是否可重入 Synchronized和ReentrantLock都是可重入锁
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。