首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
蕾姆是我女神
2018-11-23 18:45
已编辑
青州街男子职业技术学院 Java
关注
已关注
取消关注
忽然想不通了,Java里的读写锁里的读锁有什么用?
ReentrantReadWriteLock里的readLock有什么用?
看百度上有个人说这样能让多线程不阻塞进入临界区,
可是不加锁的话多线程不是都可以访问临界区吗?
如果阻塞的话怎么会出现线程安全问题……
求大佬指点迷津,加读锁和不加读锁有啥区别。
提示
全部评论
推荐
最新
楼层
Albertnet
中国移动_PaaS产品部_软件开发工程师
读-写锁 (1)读写锁的出现原因: ReentrantLock实现一种标准的互斥锁,每次最多只有一个线程能持有ReentrantLock,限制了并发性,互斥是一种保守的加锁策略,虽然避免了“写/写”冲突和“写/读”冲突,但也避免了“读/读”冲突,而大部分情况下读操作比较多,如果此时能够放宽加锁需求,允许多个读操作的线程同时访问数据结构,可以提升程序的性能(只要每个线程保证读取到最新的数据,并且在读取数据时不会有其他线程修改数据就行) (2)ReentrantLock提供的非互斥的读写锁的定义 1)一个资源可以被多个读操作访问,或者被一个写操作访问,但两者不能读写操作同时进行。2)读-写锁是一种性能优化措施,可以实现更高的并发性,提高程序的性能。3)当锁的持有时间较长并且大部分操作都不会修改被守护的资源时,读-写锁可以提高并发性。
2
回复
分享
发布于 2017-09-03 08:02
JasWag
山东工商学院 Java
总的来说 读写互斥和读锁共享,再来说场景 单/多线程 1、单线程:锁可重入(多个读或多个写) 2、多线程:当前线程读阻塞其他线程写,当前线程写阻塞其他线程读写
1
回复
分享
发布于 2021-11-28 17:38
吃口屎冷静下
Java
读读不互斥,读写互斥,写写互斥
4
回复
分享
发布于 2017-09-02 22:40
March..
Санкт-Петербургский государственный университет информационных технологий, механики и оптики Java
防止读的时候其他线程写,允许读的时候其他线程读
3
回复
分享
发布于 2017-09-02 22:35
驼君
北京工业大学 Java
加读锁应该是防止在写入的时候读取,防止读取脏数据
2
回复
分享
发布于 2020-03-10 17:18
厨师沙拉.
重庆大学 后端工程师
刚学到这里,回复下自己的看法。因为读写锁锁住的不是共享资源,而是临界区,临界区里是对共享资源的操作,读写锁能控制多线程里的临界区对于共享资源访问的动作,但是不能控制共享资源不被别人访问。没有在锁住的临界区内的其它的线程依旧可以访问共享资源。所以如果不加读锁就会导致写的时候,共享资源被读。有此类问题的朋友可以试着写一下代码跑一下看看。
点赞
回复
分享
发布于 2022-02-16 22:54
牛客520318129号
加读锁,保证可重复读。 加写锁,自己写,也阻塞别人读,因为数据正在改动。
点赞
回复
分享
发布于 2020-12-04 23:00
雪刚
西北工业大学 Java
关键理解是同一锁对象 :用同一个锁对象, 在加了写锁的代码块执行期间,能阻塞 对该锁对象加写锁,当然也阻塞了写锁加锁和解锁之间的代码块的执行。
点赞
回复
分享
发布于 2018-11-23 18:28
等待offer
广东 Java
请求读锁的线程进去之后,其他请求读锁线程可以继续进入。但此时,请求写锁的线程不能进入,会被阻塞,直到所有请求读锁的线程结束之后,才有可能进入。
点赞
回复
分享
发布于 2017-09-03 07:43
Thare
淘天集团_技术专家
读锁:共享锁 写锁:排它锁
点赞
回复
分享
发布于 2017-09-03 02:00
浮生一梦暗若痴
老和山职业技术学院 C++
等你用到的时候就理解了
点赞
回复
分享
发布于 2017-09-03 01:26
都拿我当备胎
蓝翔技校 Java
h_b吧
点赞
回复
分享
发布于 2017-09-03 00:04
向宇前桌
查硕 Java
处理高并发
点赞
回复
分享
发布于 2017-09-02 23:57
见习精神病
天津财经大学 Java
加了读锁别的线程如果要加写锁就阻塞了呀
点赞
回复
分享
发布于 2017-09-02 22:42
暂无评论,快来抢首评~
相关推荐
昨天 22:24
电子科技大学 Java
28届电科沙河人再次求助
大二Java后端那套学的还可以,写了一个点评,(苍穹外卖全是增删改查,学校搞综设的时候负责后端和部分深度学习的我那时候写过增删改查,git啥的都用过了,所以就没写)。现在在写leetcode和刷八股,八股侧重操作系统和计算机网络一点。因为其他的在学习项目中因为我这人比较喜欢刨根问底一点,所以底层的一些东西学的时候就理解了一下,现在主要是微服务还没系统学过,不想看微服务了系统的,再找个其他有含金量一点的项目看一下就准备投日常大厂实习了。 想问问各位佬,日常大厂实习在什么时候开投最合适,因为想在秋招前攒3~4段实习
点赞
评论
收藏
分享
01-21 09:21
北京邮电大学 嵌入式工程师
秋招G了,春招还能翻盘吗?
刚刚结束的秋招中,有人欢喜有人忧。欢喜的是,有些同学找到了不错的工作;忧愁的是,也有同学没有心仪的去处。秋招和春招,是学生们心头的两个坎,之前看师兄师姐们或优雅或费力的迈过这些坎,感触并不大。终于,在毕业的前一年,也轮到了我们自己。第一次经历,自然心头有着不少疑惑。今天从计算机行业出发,我带你抽丝剥茧,把事情整清楚。首先抛出三个大家关心的问题:校园招聘的秋招和春招有什么区别秋招零offer,春招还有机会吗秋招已经签约了,能去春招再看看吗春夏秋冬,四季变换,自有顺序。那为啥秋招会在春招之前呢?因为,对于学生来说,在校期间的求职时间有两段,一段是毕业前一年的秋天,在 7 月 ~ 11月之间,称为秋...
点赞
评论
收藏
分享
2025-12-03 15:10
吉首大学张家界学院 运维开发工程师
时隔三个月加了一段实习,秋招还有机会吗?
参照上一篇评论稍加修改!
点赞
评论
收藏
分享
2025-12-08 19:00
湖南大学 Java
研二,想在年前找一个日常实习,真心跪求建议
在boss上投了好多基本都是已读不回,到底该怎么写简历呢。目前只高强度准备了一个月,八股涉及到spring:ioc、aop、三级缓存、mvc。mysql:事务、索引、mvcc。redis:持久化、内存淘汰策略、过期淘汰策略、缓存三兄弟、集群。jvm:内存区域、垃圾回收、类加载机制(这个一知半解)。还有就是java常用集合底层实现。其他就无了。想问问各位大佬,想在年前有一段日常实习现实吗?还是说在沉淀一下等3月在投呢?
实习,不懂就问
点赞
评论
收藏
分享
01-21 16:13
桂林电子科技大学 区块链
AI编码前沿趋势:2026年从“建议”到“代理”革命
AI编码正从辅助工具演变为全栈代理,2026年将是关键转折。基于IBM、O'Reilly和WEF报告,这里盘点前沿趋势,帮助开发者跟上步伐。- 代理式开发(Agentic Coding):AI不再只补代码,而是自主完成任务。如GitHub Copilot的Agent Mode,能处理PR、测试和部署。趋势:多代理系统(MAS)兴起,AI间协作,完成复杂工作。预测:企业80%工程师需重训。- 边缘AI与硬件优化:从云端转向设备端,Rust/Zig等安全语言流行。IBM:GPU外,ASIC芯片和量子优化器将主导。实用:边缘AI减少延迟,适合机器人和IoT编码。- Vibe Coding与上下文工程...
AI coding的好用...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
15
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
滴滴lastweek,知无不言
1425
2
...
实习产出怎么包装
1240
3
...
数据库出现慢查询怎么定位?
1005
4
...
29届Java后端
958
5
...
麻了,跟不上天赋哥
686
6
...
牛客的作用就是看面经
672
7
...
杭州有赞
668
8
...
考研失败春招求助
619
9
...
校招黑话 萌新扫盲必备
592
10
...
学校教的就业咋一点用不上
567
创作者周榜
更多
正在热议
更多
#
除了Java,最推荐学什么技术?
#
1527次浏览
54人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
1775次浏览
68人参与
#
你的landing期是如何度过的?
#
1712次浏览
38人参与
#
滴滴求职进展汇总
#
298907次浏览
2445人参与
#
秋招报数:你投了多少家公司?
#
148291次浏览
946人参与
#
机械制造面试点评
#
83958次浏览
471人参与
#
你觉得早上几点上班合适?
#
94279次浏览
353人参与
#
机械人与华为的爱恨情仇
#
147163次浏览
1030人参与
#
机械只有转码才有出路吗?
#
159345次浏览
1653人参与
#
我和mentor的爱恨情仇
#
102803次浏览
925人参与
#
你觉得mentor喜欢什么样的实习生
#
45447次浏览
989人参与
#
如何提高实习转正率?
#
80805次浏览
488人参与
#
实习期间如何提升留用概率?
#
230966次浏览
1788人参与
#
你觉得什么岗位会被AI替代
#
35254次浏览
236人参与
#
聊聊你的被动加班经历
#
8421次浏览
101人参与
#
秋招提前批,你开始投了吗
#
705722次浏览
8437人参与
#
面试常问题系列
#
268736次浏览
4687人参与
#
京东求职进展汇总
#
1138472次浏览
8519人参与
#
牛客十周岁生日快乐
#
207749次浏览
1937人参与
#
为了秋招你都做了哪些准备?
#
31483次浏览
532人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务