乐观锁和悲观锁

悲观锁

事务开始到结束一直加锁,以一种大概率会出现有人会争夺资源的心态

乐观锁

在表中增加一个版本号或者时间戳来实现,只有到提交数据的时候才通过一种机制检验数据是否冲突

举例

id type number
001 1
002 2
悲观锁:线程a,b都想下单菜,假如a获得了锁,b就不能访问,等到a完成事务释放锁之后b才能获得
乐观锁:
id type number
---- ---- ----
001 1
002 2
增加一个版本号.当a购买时会拿着id=001,和version=0去购买,完成
b再去购买拿着id=001,和version=0去购买发现版本号对不上,无法进行
posted @   braveman1021  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示