社区
Java SE
帖子详情
问个关于锁(synchronized)的问题
qps2006
2008-04-09 12:06:13
正在线程编程,是否只要把
写操作
放入synchronized块中,
读操作
不必放入?
...全文
79
3
打赏
收藏
问个关于锁(synchronized)的问题
正在线程编程,是否只要把写操作放入synchronized块中,读操作不必放入?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Barryzhong
2008-04-09
打赏
举报
回复
不十分正确!
假如读操作获得的结果
需要
跟写操作相关时,那么读操作就需要加锁!此时其他写操作需要等读操作释放所以后才能更新。
云上飞翔
2008-04-09
打赏
举报
回复
答:
1)若线程A("写操作"线程)与线程B(“读操作”线程)可能会并发运行的话,则都必须放在synchronized代码块中。这是:“写-读”冲突。
2)若
只有
线程A("读操作"线程)与线程B(“读操作”线程)可能会并发运行的话,则不必须放在synchronized代码块中。这是:“读-读”不冲突(
前提:读操作不能修改任何临界区资源
)
3)最后一个是“写-写”冲突。必须要放在synchronized代码块中。
以上答案仅供你参考。
psyl
2008-04-09
打赏
举报
回复
没有必要把读操作放到同步块中。
因为读操作可以同时进行,不冲突。
Java
锁
synchronized
关键字学习系列之偏向
锁
文章目录Java
锁
Synchronized
关键字学习系列之偏向
锁
synchronized
锁
升级偏向
锁
匿名偏向偏向
锁
的加
锁
和释放
锁
偏向
锁
流程图总结学习参考源代码 Java
锁
Synchronized
关键字学习系列之偏向
锁
synchronized
锁
升级 在多线程并发编程中
synchronized
一直都是常用的,以前很多人都会称呼它为重量级
锁
。但是随着Java SE 1.6 对
synchronized
进行了各种优化之后,有些情况下它就并不那么重,Java SE 1.6 中为了减少获得
锁
和释放
锁
带来的性能消耗
Java并发操作之
synchronized
互斥
锁
总结
💡💡
synchronized
关键字是Java语言为开发人员提供的同步工具,可以将它看成是一个“语法糖”
synchronized
要解决的
问题
就是——Java通过
synchronized
指定同步块,从而能在指定块中避免数据竞争
问题
,对方法进行声明实际上也有一个对应的同步块范围,而且会。同一时刻只有一个线程能进入
锁
中,其他线程必须等待
锁
里的线程出来后才能够依次进入。,可通过修饰不同的对象实现
锁
范围,在代码上则是体现为这里会扯到操作的,不了解的朋友可以先去了解一下什么是原子性操作。
Java中
Synchronized
锁
和ReentrantLock
锁
的概念和理解
3、ReentrantLock基于CAS,它需要手动解
锁
,它默认是非公平
锁
,也可以自定义为公平
锁
,是可重入
锁
。2、非公平
锁
:多个线程去获取
锁
的时候,会直接去尝试获取,获取不到,再去进入等待队列,如果能获取到,就直接获取到
锁
。1、公平
锁
:多个线程按照申请
锁
的顺序去获得
锁
,线程会直接进入队列去排队,永远都是队列的第一位才能得到
锁
。2、
Synchronized
基于
锁
对象,遇到异常JVM可以自动释放
锁
,同时它是不公平
锁
,是可重入
锁
。1、二者默认都是非公平
锁
,lock 可以指定为公平
锁
。
面试题精讲系列之
锁
-
synchronized
与Lock
锁
锁
分类 Java
锁
分类 分类标准 分类 根据线程是否需要对资源加
锁
悲观
锁
/乐观
锁
根据多个线程是否能获取同一把
锁
共享
锁
/独享(独占、排他)
锁
根据
锁
是否能够重复获取 可重入
锁
/不可重入
锁
根据
锁
的公平性进行区分 公平
锁
/非公平
锁
当多个线程并发访问资源时,当使用
synchronized
时
锁
升级(偏向
锁
/轻量级
锁
/重量级
锁
) 根据资源被
锁
定后,线程是否阻塞 自旋
锁
/适应性自旋
锁
悲观
锁
VS 乐观
锁
首先我们来看看悲观
锁
与乐观
锁
。 其实这里无论是悲观
锁
还是乐观
锁
,都
10-
锁
(
synchronized
和Lock)
锁
(
synchronized
和lock)
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章