首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
07-07 14:06
北京理工大学 管理培训生
我是不会放弃追求双休的...
码农索隆:
单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞
评论
收藏
分享
07-08 10:08
湖南理工大学 电气工程师
请牛爷爷们犀利评价一下俺的双非本科简历 Orz Orz Orz
目前想找一份实习 强弱电方向都可以 主要还是想学到东西
点赞
评论
收藏
分享
06-20 17:09
腾讯音乐娱乐集团_算法实习生(实习员工)
秋招第一个offer,拿下~
普联提前批,不过薪资感觉刚刚到及格线,不是非常满意~
牛客37592471...:
tp学历厂,只能说你学历到位了
Tplink求职进展汇总
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
0实习双非进大厂,我做了什么
做梦
offe从四面八方来:
我真的没时间陪你闹了
点赞
评论
收藏
分享
07-10 15:46
长安大学 产品经理
只有我0 offer,还要被家人嫌弃吗??
秋招刚开始的时候,我还信心满满,觉得只要努力投简历、认真准备面试,总能找到一份像样的工作。可现实狠狠给了我一巴掌。我是双非本科,市场营销,成绩中等,实习经历也不算亮眼。九月初,我开始疯狂投递简历,几乎每天都在刷新招聘网站,看到岗位就投,不管是不是匹配。最多的一天,我投了将近30份简历,结果第二天只收到两封拒信,其他全都石沉大海。我清楚的记得那是去年10月12日的晚上19点02分,我好不容易收到一家互联网公司的面试通知,兴奋得一晚上没睡好。面试那天,我早早到了公司,穿着借来的西装,鞋子还有点磨脚。结果面试官一上来就问:“你这段实习经历具体做了什么?有没有数据支撑?”我支支吾吾答不上来,脑子一片空...
我的求职精神状态
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
15
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我从来没想过我会出轨
6457
2
...
三次入职字节,我终于成为了一名正式的bytedancer
3974
3
...
上班一周了 感觉这辈子完了
3364
4
...
修改简历被骗了将近700
2561
5
...
大厂工作一年了,给想进游戏行业的朋友们写点体会
2505
6
...
暂且原谅这个世界一下下
2479
7
...
小米AIGC产品经理|面试实录
2402
8
...
刚来深圳第一天就被宰1650
2119
9
...
淘天lastday知无不言
2064
10
...
实习的活写到简历上,面试真的有的聊吗?
1871
创作者周榜
更多
正在热议
更多
#
你认为小厂实习有用吗?
#
22851次浏览
263人参与
#
运营面经
#
116043次浏览
1254人参与
#
如果公司给你放一天假,你会怎么度过?
#
15139次浏览
107人参与
#
秋招最大的收获是什么?
#
36323次浏览
310人参与
#
硬件人秋招的第一个offer
#
80416次浏览
1155人参与
#
三一重工求职进展汇总
#
13686次浏览
62人参与
#
硬件人,你被哪些公司给挂了
#
59306次浏览
827人参与
#
你的领导最像哪种动物,为什么?
#
14756次浏览
107人参与
#
总结:哪家公司面试体验感最差
#
59756次浏览
268人参与
#
说说你知道的学历厂
#
43355次浏览
265人参与
#
材料人,你们签了哪个公司
#
7687次浏览
18人参与
#
实习生的蛐蛐区
#
59628次浏览
429人参与
#
如果重来一次你还会读研吗
#
176158次浏览
1780人参与
#
哪一瞬间觉得自己长大了
#
11220次浏览
247人参与
#
烟草笔面经互助
#
17999次浏览
184人参与
#
面试尴尬现场
#
35247次浏览
233人参与
#
计算机有哪些岗位值得去?
#
18387次浏览
166人参与
#
你找工作的时候用AI吗?
#
20375次浏览
244人参与
#
下班后的时间你怎么安排
#
11215次浏览
150人参与
#
电网笔面经互助
#
37146次浏览
359人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务