其他分享
首页 > 其他分享> > 乐观锁和悲观锁

乐观锁和悲观锁

作者:互联网

 

 


 

 

 

 

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。

即上锁------>操作------->解锁以便给下一个人使用

 


 

 

 

乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量

 

比如,第一个人付款成功,此时余额的版本号就会变成v1.1,第二个人去付款的时候,发现自己手上持有的版本号是v1.0 ,不是最新的v1.1,此时他就会替换成v1.1版本后再进行判断余额是否足够,从而避免超卖问题。

标签:v1.1,版本号,Lock,乐观,悲观,数据,上锁
来源: https://www.cnblogs.com/zhyjdjm/p/16439684.html