首页 > 其他 > 详细

锁:synchronized与Lock的区别

时间:2020-08-22 10:56:40      阅读:82      评论:0      收藏:0      [点我收藏+]

1、synchronized是关键字,而Lock是一个接口

技术分享图片

 

2、synchronized会自动释放锁,而Lock必须手动释放锁

技术分享图片

 synchronized的实现都是通过虚拟机指令自动完成的

技术分享图片

 Lock需要手动书写代码来释放锁

 

3、synchronized是不可中断的,Lock可以中断也可以不中断(https://www.cnblogs.com/zhai1997/p/13528463.html

 

4、 通过Lock可以知道线程有没有拿到锁,而synchronized不能

技术分享图片

 

 

5、synchronized能锁住方法和代码块,而Lock只能锁住代码块

Lock:

技术分享图片

 synchronized:

技术分享图片

 

6.、Lock可以使用读锁提高多线程读效率

技术分享图片

 

7.、synchronized是非公平锁,ReentrantLock可以控制是否是公平锁(https://www.cnblogs.com/zhai1997/p/13474434.html

 

锁:synchronized与Lock的区别

原文:https://www.cnblogs.com/zhai1997/p/13544504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!