社区
Java SE
帖子详情
synchronized和ReentrantLock的实现原理是什么?它们又什么区别?
Crazy Code Farmer
2020-10-14 05:09:59
多线程面试中高频考点,我们发表不同的见解,增强印象。
...全文
4432
2
打赏
收藏
synchronized和ReentrantLock的实现原理是什么?它们又什么区别?
多线程面试中高频考点,我们发表不同的见解,增强印象。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
shuster
2020-10-16
打赏
举报
回复
synchronized是java自带的关键字,使用起来非常方便,ReentrantLock是jdk中提供的一个类。java开始支持synchronized时其效率相比ReentrantLock比较低,后面经过逐步优化,效率才和ReentrantLock相当。ReentrantLock的实现可以参考jdk的源码,继承了AbstractQueueSychronizer ,并且使用unsafe类的park和unpark休眠和唤醒线程,通过compareAndSwap方法实现并发机制,即获取锁实际上就是去改变内存中的某个变量的值,改变成功了代表获取了锁,如果该变量已经被其他线程修改了,当前线程只能等待其他线程修改回来,当前线程要么循环去判断要么休眠。java中对象有MarkWord,synchronized实现和其有关,synchronized有enter队列和wait队列,获取锁进入enter队列进行竞争,已经获取锁的通过wait方法释放锁后会进入wait队列,通过notify方法唤醒后会重新进入enter队列竞争锁。 ps:关于如何保证并发安全性的底层实现Linux 0.11中是通过禁用中断实现的,很简单粗暴。现在有原子指令来保证,通过锁内存来实现,软件上很难实现的东西硬件上很容易实现。以上内容经供参考,一些细节记不清了,需要去找资料研究!!!
做一个海贼
2020-10-15
打赏
举报
回复
都是可重入锁,synchronized使用完之后锁会自动释放,ReentrantLock需要手动释放,ReentrantLock更灵活点可以设置超时时间之类的。synchronized相对更简单使用方便。其他方面应该都差不多
第15讲
synchronized
和Re
entr
ant
Lock
有什么
区别
呢?1
在Java编程中,
synchronized
和Re
entr
ant
Lock
都是用于实现线程同步的重要工具,它们在并发控制方面扮演着关键角色。然而,两者之间存在一些显著的
区别
,这些差异体现在功能、灵活性、性能以及使用场景上。 首先,...
05-Java锁机制
synchronized
Re
entr
ant
Lock
与AQS全解析-147092910.md
了解这些锁机制的特性和
实现原理
,对于编写高性能且线程安全的Java应用至关重要。无论是选择
synchronized
关键字还是Re
entr
ant
Lock
,或者是其他的并发工具类,都需要基于应用场景和需求做出恰当的选择。随着并发编程...
Re
entr
ant
Lock
与
synchronized
总的来说,`
synchronized
`和`Re
entr
ant
Lock
`都是Java并发编程的重要工具,它们在确保线程安全方面发挥着关键作用。开发者应根据实际需求和性能考虑,合理选择并正确使用这两种锁机制,以实现高效、可靠的多线程程序...
Java实习生面试复习(七):
synchronized
和Re
entr
ant
Lock
的学习
Java并发编程中,`
synchronized
`关键字和`Re
entr
ant
Lock
`是两个重要的同步控制工具,它们主要用于保证多线程环境下的数据一致性与线程安全。本文将深入探讨这两个概念,了解它们的
实现原理
以及
区别
。 首先,`...
Java
synchronized
关键字和
Lock
接口
实现原理
Java
synchronized
关键字和
Lock
接口
实现原理
Java 中的
synchronized
关键字和
Lock
接口是两种常用的线程同步机制,它们都可以用来解决并发问题。下面我们将详细介绍
synchronized
关键字和
Lock
接口的
实现原理
。...
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章