社区
Java SE
帖子详情
关于线程安全的思路问题
kangojian
2011-02-23 06:09:02
比方说有四个线程 访问同一条数据并且对它更新
有可能会出现四个线程的数据累计更新到一条数据上
好像在程序流程上各个环节都可能出现 问题
如下假设
1如果同步容器,确实能防止其他线程同是访问此数据 但是也不能避免 累计更新的情况
2如果在更新前作判断,如过有几个线程同时过了判断 结果还是会累计更新
。。。。。。。
问问大家有没有好的思路 和方法 最好不用锁 呵呵最好是基于 CAS原语
...全文
129
8
打赏
收藏
关于线程安全的思路问题
比方说有四个线程 访问同一条数据并且对它更新 有可能会出现四个线程的数据累计更新到一条数据上 好像在程序流程上各个环节都可能出现 问题 如下假设 1如果同步容器,确实能防止其他线程同是访问此数据 但是也不能避免 累计更新的情况 2如果在更新前作判断,如过有几个线程同时过了判断 结果还是会累计更新 。。。。。。。 问问大家有没有好的思路 和方法 最好不用锁 呵呵最好是基于 CAS原语
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2011-02-24
打赏
举报
回复
更新总归是先来后到吧,4 个线程同时更新,那最终采用谁的结果呢?
kangojian
2011-02-23
打赏
举报
回复
[Quote=引用 6 楼 zqfddqr 的回复:]
不知道这样行不行
[/Quote]
不是行不行 的事 我只是想不出来 怎么能没有出现 重复写入的情况 当然不能用 同步锁 呵呵
zqfddqr
2011-02-23
打赏
举报
回复
不知道这样行不行
zqfddqr
2011-02-23
打赏
举报
回复
同步 加更新前检测
获得锁 检测 检测完就更新 在释放锁
kangojian
2011-02-23
打赏
举报
回复
[Quote=引用 1 楼 shine333 的回复:]
乐观锁
数据库中加个字段,记录版本号。读数据的时候,记录下版本号,更新前,检查数据库里面的版本号和之前读取的是否一致。不一致的话,放弃此操作,并通知用户。
如果还不放心,那么在更新前读取数据库中最新版本号的时候,用Select for update。
[/Quote]
加一个字段管用吗
就算加了各自段 如果连个线程同时修改那个
理论步骤都是先读 那条数据 所以可能会出现两个线程都通过了判断条件的情况啊 这只是降低了概率 但不能避免啊
shine333
2011-02-23
打赏
举报
回复
漏了一点,update的时候,一并把版本号+1
shine333
2011-02-23
打赏
举报
回复
乐观锁
数据库中加个字段,记录版本号。读数据的时候,记录下版本号,更新前,检查数据库里面的版本号和之前读取的是否一致。不一致的话,放弃此操作,并通知用户。
如果还不放心,那么在更新前读取数据库中最新版本号的时候,用Select for update。
线程安全
问题
的原因及解决方案
线程安全
问题
:简单来说,就是在多线程的调度下,导致出现了一些随机性,随机性使代码出现 了一些bug =>线程不安全 造成线程不安全的原因有哪些呢? 1)抢占式执行,调度过程随机(也是万恶之源,无法解决) 2...
【多线程】如何保证
线程安全
一、
线程安全
等级 之前的博客中已有所提及“
线程安全
”
问题
,一般我们常说某某类是
线程安全
的,某某是非
线程安全
的。其实
线程安全
并不是一个“非黑即白”单项选择题。按照“
线程安全
”的安全程度由强到弱来排序,...
【Java 多线程】多线程带来的的风险-
线程安全
、多线程五个经典案例
日常开发中如果用到多线程编程,也一定会涉及到
线程安全
问题
线程安全
这个
问题
就不太好理解 正因为如此,程序猿们才尝试发明出更多的编程模型来处理并发编程的任务 例如:多进程、多线程、actor、csp、async+await、...
线程安全
问题
的产生条件、解决方式
线程安全
问题
的产生条件、解决方式
java多线程会造成
线程安全
问题
的原因总结
众所周知,多线程会造成
线程安全
问题
,那么多线程为什么会导致
线程安全
问题
呢? 一:首先了解jvm内存的运行时数据区 1.堆区:存储对象实例(和实例变量),数组等 2.java虚拟机栈(方法·栈),存放方法声明,...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章