为什么Java程序在并发的情况下数据库会出现重复记录
答案:2 悬赏:30 手机版
解决时间 2021-02-18 23:39
- 提问者网友:不要迷恋哥
- 2021-02-18 14:34
为什么Java程序在并发的情况下数据库会出现重复记录
最佳答案
- 五星知识达人网友:平生事
- 2021-02-18 15:10
这是一个高并发,多线程问题
如果数据粒度没有设计到行级锁,
比方说A这条记录 是100,并发情况下两个人拿到A记录100 一个更新为70,一个更新为80
实际是拿走了50的量,但是因为是并发情况 导致数据不正确。所以这个地方是一个数据锁的概念,至于为什么会这样,道理也很简单,一个排队做事情,一个并行做事情,能一样吗?
如果数据粒度没有设计到行级锁,
比方说A这条记录 是100,并发情况下两个人拿到A记录100 一个更新为70,一个更新为80
实际是拿走了50的量,但是因为是并发情况 导致数据不正确。所以这个地方是一个数据锁的概念,至于为什么会这样,道理也很简单,一个排队做事情,一个并行做事情,能一样吗?
全部回答
- 1楼网友:刀戟声无边
- 2021-02-18 16:50
几百人报名就叫并发吗?
概念错了!
几百人操作几百条互不相关的数据那个不叫并发,只有同时操作同一条数据的情况才叫并发。
如果两人同时修改同一条数据的话,那个要不就使用行锁(悲观锁),要不就用version(乐观锁)控制。
其它情况无需考虑的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯