社区
Java SE
帖子详情
java既然有了互斥锁了,那么读写锁似乎有点重复啊
aewfqe
2012-08-27 11:12:19
作为数据保护而言,我觉得用到读写锁的地方,都可以用互斥锁取代,效果差不多啊。
那么为什么还要弄一个ReentrantLock来管理Read/Write呢? ReentrantLock比单纯synchronized()有什么优点?
谢谢
...全文
128
2
打赏
收藏
java既然有了互斥锁了,那么读写锁似乎有点重复啊
作为数据保护而言,我觉得用到读写锁的地方,都可以用互斥锁取代,效果差不多啊。 那么为什么还要弄一个ReentrantLock来管理Read/Write呢? ReentrantLock比单纯synchronized()有什么优点? 谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
scbb
2012-08-27
打赏
举报
回复
因为文件除了你程序还可能有,其他程序,或者操作系统等访问。
比如你程序想去打开个文件,要是你还能在windows里把它删了。。。你觉得这种情况会不会挺难办得呢。
你的互斥锁管不了windows的删除吧。。。
aewfqe
2012-08-27
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
因为文件除了你程序还可能有,其他程序,或者操作系统等访问。
比如你程序想去打开个文件,要是你还能在windows里把它删了。。。你觉得这种情况会不会挺难办得呢。
你的互斥锁管不了windows的删除吧。。。
[/Quote]
嗯,很有道理啊。
今夜和学妹的深入交流,我彻底掌握了ReadWriteLock精髓!
了解
读写锁
吗? 互联网的并发场景大多是读多写少。所以缓存技术使用普遍。JUC也提供了
读写锁
-ReadWriteLock。 那你说说什么是
读写锁
?
读写锁
一般遵循以下设计原则: 允许多个线程同时读共享变量 只允许一个线程写共享变量 如果一个写线程正在执行写操作,此时禁止读线程读共享变量。 知道
读写锁
与
互斥锁
的区别吗?
读写锁
允许多个线程同时读共享变量,而
互斥锁
不允许。这也是读多写少时
读写锁
的优势。
读写锁
的写是互斥的,当一个线程在写共享变量时,其他线程不允许执行写或读。 知道如何使用Read.
Java
锁的分类
本章节介绍
Java
中的几种常见的锁:公平锁和非公平锁、可重入锁、独享锁/共享锁、
互斥锁
/
读写锁
、乐观锁/悲观锁、分段锁、偏向锁/轻量级锁/重量级锁、自旋锁。
锁策略--
乐观锁和悲观锁 轻量锁和重量锁 自旋锁和挂起等待锁
读写锁
和
互斥锁
可重入锁和不可重入锁 公平锁和非公平锁
面试频繁被问
Java
中的各种锁,今天就给大伙来梳理梳理
大伙在面试的时候应该会经常碰到线程并发方面的问题,而且也会问到你各种分布式锁的概念,本文就给大家整理了下各种锁的分类,希望对你有所帮助。 锁的分类 我们先总体的来看看有哪些具体的分类 一、乐观锁/悲观锁 注意,乐观锁与悲观锁并不是具体的两种锁的实现,而一种设计思想。 乐观锁 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。 乐观锁适用于多读的应用类型,这样可.
Java
并发:
互斥锁
和
读写锁
互斥锁
线程在进入同步代码块之前会自动获取锁,并且在退出同步代码块时会自动释放锁,当某个线程请求一个由其他线程持有的锁时,发出请求的线程就会阻塞。
互斥锁
其实提供了一种原子操作,让所有线程以串行的方式执行同步代码块。可重入性:某个线程试图获得一个已经由它自己持有的锁,那么这个请求就会成功(
重复
获取),这就叫
互斥锁
的可重入性。“重入”意味着获取锁的操作的粒度是“线程”,而不是调用,也就是说一个线程中可以
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章