乐观锁和悲观锁

悲观锁

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

乐观锁

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

举例

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 @ 2022-12-12 09:20  braveman1021  阅读(22)  评论(0)    收藏  举报