关于脏读产生的实际问题的演示

来源:3-14 锁模块之事务并发访问产生的问题以及事务隔离机制

why779715974

2020-08-03

在看到老师演示脏读可能产生的实际问题是,看到老师在设置balance = 900 +200 时产生了疑问,这样设置修改值当然会是1100。既然当前Session读取到的是未提交的值900,应该可以用 balance = balance + 200 ,得到的也会是 1100 的结果吗?

写回答

1回答

翔仔

2020-08-03

同学好,这里主要是方便演示,脏读的时候,比如说线程1去修改某个数据但是没提交,而这个数据被线程2读取了,就是脏读,此时线程2读入程序的数据是线程1修改后的数据(900),实际线程1没修改,而线程2照着1的结果去处理了,就会产生错误。

0
3
翔仔
回复
why779715974
正解,所以咱们只能从程序里模拟,因为像这种场景存储引擎在操作的时候会避免的,除非是程序读到数据直接进行update
2020-08-04
共3条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8441 学习 · 1872 问题

查看课程