谈谈 synchronized和ReenTrantLock 的区别?

谈谈 synchronized和ReenTrantLock 的区别?,第1张

谈谈 synchronized和ReenTrantLock 的区别?

synchronized 早期的实现比较低效,对比 ReentrantLock,大多数场景性能都相差较大,但是在 Java 6 中对 synchronized 进行了非常多的改进。

主要区别如下:

ReentrantLock 使用起来比较灵活,但是必须有释放锁的配合动作;

ReentrantLock 必须手动获取与释放锁,而 synchronized 不需要手动释放和开启锁;

ReentrantLock 只适用于代码块锁,而 synchronized 可用于修饰方法、代码块等。

ReentrantLock 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4875069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-11

发表评论

登录后才能评论

评论列表(0条)

保存