课程
下载APP
源自:5-9 架构设计-超卖方案1-事务锁方案

老师可以详细讲解下悲观锁和乐观锁的使用吗

老师可以详细讲解下悲观锁和乐观锁的使用吗,我看这方面资料不是特别好,很多都转来转去的,都不知道作者懂不懂。找了这个还行,但感觉讲解的也不全面 https://chenzhou123520.iteye.com/blog/1860954   谢谢

提问者:Q646448149 2019-03-03 22:29

1个回答

  • 枫荇
    2019-03-04 12:34

    @Q646448149 您好!

    悲观锁:简单说就是先占了我要使用的所有资源,强制绝对串行化,不允许我开始执行时,不管是否要真的执行,涉及到的资源绝对的私有,绝对占有。用一个简单的案例讲,我要去停车,进停车场时,系统给我分配一个停车位A201,告诉让所有停车的人,并且A201车位上安装了车位锁,只有我的车过去才能打开;那么也就是说,我入场是就占了这个车位,不管这个时候不管我是否真的要停,A201车位是我的其他人不能停。

    乐观锁:不管资源是否能用,我先去尝试,如果资源已经被占了或者状态变了,大不了失败重来。用上面停车的例子,系统不管,只要来的车都让进,先进去抢,大家都知道A201车位是空的,谁先到,谁先停了就是谁的。这个过程中,除了倒车入库的时候停车位是独占外,其他时候大家都可以抢;抢不到的那重新找空的车位。