百木园-与人分享,
就是让自己快乐。

synchronized和ReentrantLock区别简介说明

转自:

http://www.java265.com/JavaMianJing/202204/16506893463050.html

在多线程开发中,需要锁定指定代码块,使其在同一时间只能由一个线程运行,我们日常开发中常用的同步锁有:

  synchronized和ReentrantLock,那么他们两者之间到底有什么不同之处呢? 

下文笔者讲述synchronized和ReentrantLock区别简介说明,如下所示

区别1:灵活性不同

    synchronized是关键字,无灵活性
	ReentrantLock是类
      可利用里面的各种方法操作,也可继承此类编写相应的方法

区别2:灵活性不同

    synchronized无可操作性
	ReentranLock了设置锁的等待时间,避免死锁
	ReentranLock可获取锁的信息
	ReentranLock可实现多路通知

区别3:底层实现不同

    synchronized 是在对象头中加入mark word字段
	ReentrantLock底层是调用Unsafe的park方法加锁

来源:https://www.cnblogs.com/java265/p/16182123.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » synchronized和ReentrantLock区别简介说明

相关推荐

  • 暂无文章