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都是可重入锁
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


