大神们,我乐观锁还是不明白 能帮我解惑吗? 例: 两个请求(A、B)同时都会更新一条记录, A更新(判断版本通过)这时A事务还没结束(后面还有逻辑), 此时,B也更新(判断版本也通过)B事务结束, 后面A结束,这样A事务的更新不就错了吗(脏读) 要怎么处理呢? 在线等待大神解惑 谢谢!
3条回答 默认 最新
- redy_bai 2015-05-26 03:28关注
比如对于领取食物的操作:
time1: A请求从框里拿一个面包(框里食物状态版本号V1)
time2:B请求从框里拿一个面包(框里食物状态版本号V1)
time3:师傅从框里拿了一个面包给B(框里食物状态版本号V1)
time4:师傅要从框里那一个面包给A,发现食物状态版本号变了,(也许现在框里的食物不够给A的啦),于是**驳回了**A的请求。乐观锁在数据版本发生改变的时候(其他进程对数据进行了更新)拒绝对数据的更新操作。所以,被拒绝的进程**更新失败**,也就不会存在脏读或脏写了。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 vue3页面el-table页面数据过多
- ¥100 vue3中融入gRPC-web
- ¥15 kali环境运行volatility分析android内存文件,缺profile
- ¥15 写uniapp时遇到的问题
- ¥15 vs 2008 安装遇到问题
- ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
- ¥15 找一个网络防御专家,外包的
- ¥100 能不能让两张不同的图片md5值一样,(有尝)
- ¥15 informer代码训练自己的数据集,改参数怎么改
- ¥15 请看一下,学校实验要求,我需要具体代码