首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
课程
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
蕾姆是我女神
2018-11-23 18:45
已编辑
Java
关注
已关注
取消关注
忽然想不通了,Java里的读写锁里的读锁有什么用?
ReentrantReadWriteLock里的readLock有什么用?
看百度上有个人说这样能让多线程不阻塞进入临界区,
可是不加锁的话多线程不是都可以访问临界区吗?
如果阻塞的话怎么会出现线程安全问题……
求大佬指点迷津,加读锁和不加读锁有啥区别。
提示
全部评论
推荐
最新
楼层
吃口屎冷静下
Java
读读不互斥,读写互斥,写写互斥
3
送花
回复
分享
发布于 2017-09-02 22:40
March..
Java
防止读的时候其他线程写,允许读的时候其他线程读
2
送花
回复
分享
发布于 2017-09-02 22:35
秋招专场
校招火热招聘中
官网直投
Albertnet
中国移动_PaaS产品部_软件开发工程师
读-写锁 (1)读写锁的出现原因: ReentrantLock实现一种标准的互斥锁,每次最多只有一个线程能持有ReentrantLock,限制了并发性,互斥是一种保守的加锁策略,虽然避免了“写/写”冲突和“写/读”冲突,但也避免了“读/读”冲突,而大部分情况下读操作比较多,如果此时能够放宽加锁需求,允许多个读操作的线程同时访问数据结构,可以提升程序的性能(只要每个线程保证读取到最新的数据,并且在读取数据时不会有其他线程修改数据就行) (2)ReentrantLock提供的非互斥的读写锁的定义 1)一个资源可以被多个读操作访问,或者被一个写操作访问,但两者不能读写操作同时进行。2)读-写锁是一种性能优化措施,可以实现更高的并发性,提高程序的性能。3)当锁的持有时间较长并且大部分操作都不会修改被守护的资源时,读-写锁可以提高并发性。
2
送花
回复
分享
发布于 2017-09-03 08:02
驼君
北京工业大学 电子信息类
加读锁应该是防止在写入的时候读取,防止读取脏数据
1
送花
回复
分享
发布于 2020-03-10 17:18
JasWag
Java
总的来说 读写互斥和读锁共享,再来说场景 单/多线程 1、单线程:锁可重入(多个读或多个写) 2、多线程:当前线程读阻塞其他线程写,当前线程写阻塞其他线程读写
1
送花
回复
分享
发布于 2021-11-28 17:38
见习精神病
Java
加了读锁别的线程如果要加写锁就阻塞了呀
点赞
送花
回复
分享
发布于 2017-09-02 22:42
向宇前桌
Java
处理高并发
点赞
送花
回复
分享
发布于 2017-09-02 23:57
都拿我当备胎
Java
h_b吧
点赞
送花
回复
分享
发布于 2017-09-03 00:04
浮生一梦暗若痴
C++
等你用到的时候就理解了
点赞
送花
回复
分享
发布于 2017-09-03 01:26
Thare
淘天集团_技术专家
读锁:共享锁 写锁:排它锁
点赞
送花
回复
分享
发布于 2017-09-03 02:00
等待offer
Java
请求读锁的线程进去之后,其他请求读锁线程可以继续进入。但此时,请求写锁的线程不能进入,会被阻塞,直到所有请求读锁的线程结束之后,才有可能进入。
点赞
送花
回复
分享
发布于 2017-09-03 07:43
雪刚
Java
关键理解是同一锁对象 :用同一个锁对象, 在加了写锁的代码块执行期间,能阻塞 对该锁对象加写锁,当然也阻塞了写锁加锁和解锁之间的代码块的执行。
点赞
送花
回复
分享
发布于 2018-11-23 18:28
牛客520318129号
加读锁,保证可重复读。 加写锁,自己写,也阻塞别人读,因为数据正在改动。
点赞
送花
回复
分享
发布于 2020-12-04 23:00
厨师沙拉.
后端
刚学到这里,回复下自己的看法。因为读写锁锁住的不是共享资源,而是临界区,临界区里是对共享资源的操作,读写锁能控制多线程里的临界区对于共享资源访问的动作,但是不能控制共享资源不被别人访问。没有在锁住的临界区内的其它的线程依旧可以访问共享资源。所以如果不加读锁就会导致写的时候,共享资源被读。有此类问题的朋友可以试着写一下代码跑一下看看。
点赞
送花
回复
分享
发布于 2022-02-16 22:54
秋招专场
校招火热招聘中
官网直投
相关推荐
Java三段
05-13 17:20
Java
字节面试:说说Java中的锁机制?
Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问。 锁的作用主要体现在以下几个方面: 互斥访问:确保在任何时刻,只有一个线程能够访问特定的资源或执行特定的代码段。这防止了多个线程同时修改同一资源导致的数据不一致问题。 内存可见性:通过锁的获取和释放,可以确保在锁保护的代码块中对共享变量的修改对其他线程可见。这是因为 Java 内存模型(JMM)规定,对锁的释放会把修改过的共享变量从线程的工作内存刷新到主内存中,而获取锁时会从主内存中读取最新的共享变量值。 保证原子性:锁能够保证在其保护的代码块内,一系列操作是不可...
点赞
评论
收藏
转发
匿名牛油
不愿透露姓名的神秘牛友
04-26 22:18
已编辑
大佬帮选
投票
TP-LINK普联
软件开发
白菜价 n×(12~16)
本科985
点赞
评论
收藏
转发
allin实习的奶酪很想踢足球
05-13 11:27
复旦大学 计算机类
收钱吧 算法实习
25分钟结束,主要聊了聊上一段实习的经历,以及他们自己的业务
投递收钱吧等公司7个岗位 >
点赞
评论
收藏
转发
Zhi_Ye
05-02 21:30
武汉理工大学 计算机类
一战失败,求各位大佬给我些建议
本人普通211软件工程专业,大学时期没能确定好工作方向,缺少一门核心技能,考研350+冲击科大失败,现在很是迷茫。目前在学习前端开发,春招无望,想知道是否有机会在毕业后秋招找到一份合适的工作,如果找不到大概就准备二战考个难度低的学校了吧,不知道大家有什么看法嘛。
点赞
评论
收藏
转发
Fingard
05-17 08:42
保融科技_人力资源部_招聘专员
保融科技2025实习生招聘岗位一览
(1)软件开发工程师(JAVA) 20名 工作地点:杭州岗位职责:1、参与软件需求分析与设计;2、遵循编码规范,负责编码实现;3、负责单元测试、集成测试。任职要求:1、本科或硕士,计算机,软件,通信,信息,数学等相关理工类专业,专业课成绩优良;2、具有良好的分析问题和解决问题的能力;3、具有良好的沟通能力、学习能力和团队合作精神;4、愿意长期致力于企业金融、数字科技的发展。网申地址:https://campus.fingard.com/(2)客户支持工程师 10名 工作地点:杭州岗位职责: 1、按标准进行项目的实施工作,主要包括业务梳理、系统安装、调试和培训等工作; 2、整理并按时提交项...
投递保融科技等公司7个岗位 >
点赞
评论
收藏
转发
点赞
15
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
计算机专业可以去哪些央国企(总论篇)?
5.0W
2
...
六月初被无良央企毁三方 现在很迷茫
5138
3
...
【🎁】25届硬件牛牛互助计划(1期)
5091
4
...
哈啰Java实习一面40min
5045
5
...
大二终于拿下大厂(附 timeline)
4990
6
...
OPPO OC,欧欧欧欧欧欧
4554
7
...
华黑子的暑期实习总结
4554
8
...
一个大学毕业生在河边哭,他哭的如此伤心,连河神都动容了。河神拿着一份月薪两万但996的工作offer,和一份月薪2000但朝九暮五、双休的工作offer,问:“这两个哪个是你的?”毕业生哭着说:“都不
4475
9
...
大家每天有什么期盼的事情吗?
4154
10
...
【获奖公示】V你50📍(夏季刷题打卡第一周参与奖)
4099
正在热议
#
牛客帮帮团来啦!有问必答
#
1152954次浏览
17157人参与
#
通信和硬件还有转码的必要吗
#
11237次浏览
101人参与
#
OPPO开奖
#
19316次浏览
268人参与
#
和牛牛一起刷题打卡
#
19098次浏览
1635人参与
#
实习与准备秋招该如何平衡
#
203508次浏览
3628人参与
#
大厂无回复,继续等待还是奔赴小厂
#
5003次浏览
32人参与
#
不去互联网可以去金融科技
#
20721次浏览
259人参与
#
通信硬件薪资爆料
#
266071次浏览
2484人参与
#
国企是理工四大天坑的最好选择吗
#
2236次浏览
34人参与
#
互联网公司评价
#
97747次浏览
1280人参与
#
简历无回复,你会继续海投还是优化再投?
#
25041次浏览
354人参与
#
0offer是寒冬太冷还是我太菜
#
454973次浏览
5125人参与
#
国企和大厂硬件兄弟怎么选?
#
53928次浏览
1013人参与
#
参加过提前批的机械人,你们还参加秋招么
#
14648次浏览
349人参与
#
硬件人的简历怎么写
#
82298次浏览
852人参与
#
面试被问第一学历差时该怎么回答
#
19413次浏览
213人参与
#
你见过最离谱的招聘要求是什么?
#
28499次浏览
248人参与
#
学历对求职的影响
#
161281次浏览
1804人参与
#
你收到了团子的OC了吗
#
538878次浏览
6389人参与
#
你已经投递多少份简历了
#
344334次浏览
4963人参与
#
实习生应该准时下班吗
#
97027次浏览
722人参与
#
听劝,我这个简历该怎么改?
#
63530次浏览
622人参与
牛客网
牛客企业服务