首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-22 11:26
武汉轻工大学 运营
网传果然真实,滴滴实习感受真不错!
在滴滴实习的第一周,感受真的太好啦!公司氛围:氛围真的很轻松,一点都不拘谨~工作时间:当我连续两天10:10到,周围还没人的时候,我就知道我来对啦哈哈哈哈~配套设施:办公用品可以自己按照需求领取~鼠标/笔/本子/文件夹/小风扇等等一应俱全!湾流那边好像还有健身房嘻嘻嘻员工食堂:啊啊啊员工食堂真的很不错,午餐自费(基本30以下),有免费晚餐(支持配送到工作所在楼层)!狠狠爱上互联网大厂!!
投递滴滴等公司10个岗位
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
07-23 12:21
字节根本landing不了啊
我是26届实习生,入职1个月,leader批评了我好几次,坦言你不符合我的预期,没有较大改变的话,可能随时叫我走人 带我mt貌似也不喜欢我,我有很多东西都不懂怎么用他, 他不但不回答我的问题,还和leader打小报告,说我思考能力不足(是leader和我one one时候说的)现在,我仔细反思自己,发现现在遇到的问题都是对字节的不适应。一方面是工作不熟悉导致问题频出。另一方面没有和同事处理好关系,导致leader对我的评价很不好。其中最主要的是我自身问题,实习经验不足,各种碰壁。所以现在很尴尬,寻思着好好卷一把即使呆不满三个月也不后悔,也想着赶紧跑,别耽误时间。牛友们我该怎么办啊!
猫宁__:
建议坚持一下等到八月出头离职参加秋招去,现在离职时间有点尴尬,当然如果被裁了那正好直接准备秋招,这个时间节点你怕啥呀,字节的强度很难一边实习一边秋招吧
投递字节跳动等公司10个岗位
点赞
评论
收藏
分享
06-28 22:48
已编辑
广东金融学院 Java
大三双非本点评➕外卖连面试都没有
有没有大佬指点,真的失业了😭
小浪_Coding:
学院本+这俩项目不是buff叠满了嘛
点赞
评论
收藏
分享
05-29 22:11
门头沟学院 Java
简历造假直接报jing处理?
这么严重吗
Elastic90:
抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞
评论
收藏
分享
07-18 14:05
成都理工大学 测试工程师
五分钟ai面完直接进入人才库
五分钟随便面了一下,打开结果看了下已经寄了
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
15
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
实习包装不是吹牛皮,要怎么包装看这里
5.1W
2
...
实习,你就这么偷
8905
3
...
百度一二面凉经
5235
4
...
河南萌新联赛2025第(二)场:河南农业大学_题解
4084
5
...
百度一面面经7.14
3542
6
...
百度提前批后端一面 —— 亚历山大,特批拿下
2910
7
...
再再再再强调一遍!秋招不要装逼
2800
8
...
鼠鼠终于有着落了
2627
9
...
26届米哈游秋招提前批面经(游戏客户端)已挂
2507
10
...
滴滴提前批
2455
创作者周榜
更多
正在热议
更多
#
哪些公司开提前批了?
#
17437次浏览
206人参与
#
你投递的公司有几家约面了?
#
108008次浏览
769人参与
#
校招阶段,学历VS技术哪个更重要?
#
13778次浏览
165人参与
#
实习如何「偷」产出?
#
38868次浏览
883人参与
#
Offer比较,你最看重什么?
#
190948次浏览
1298人参与
#
除了主业以外,你还有哪些其他收入?
#
8891次浏览
162人参与
#
正在实习的碎碎念
#
1453053次浏览
13466人参与
#
不卡学历的大厂有哪些?
#
21482次浏览
163人参与
#
你的秋招第一面感觉怎么样
#
74478次浏览
574人参与
#
风评不好的公司,你会去吗?
#
48758次浏览
363人参与
#
职场新人体验
#
18881次浏览
180人参与
#
实习打杂,要跑路吗
#
15618次浏览
191人参与
#
腾讯音乐求职进展汇总
#
97563次浏览
566人参与
#
校园里的破防时刻
#
8657次浏览
104人参与
#
社恐入职新公司如何融入团队
#
11340次浏览
62人参与
#
实习时,大家都怎么称呼自己的mentor?
#
43459次浏览
273人参与
#
面试中,你被问过哪些奇葩问题?
#
70442次浏览
802人参与
#
摸鱼被leader发现了怎么办
#
60982次浏览
371人参与
#
软开人,秋招你打算投哪些公司呢
#
107870次浏览
978人参与
#
金融财经春招备战日记
#
23010次浏览
135人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务