欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

乐观锁和悲观锁 :知识总结(一)

程序员文章站 2022-06-02 08:56:01
...

 

  乐观锁:

           相对比较乐观,进行更新的时候,并不会刻意的上锁,只会对该字段进行一个判断,判断是否修改过。可能会导致更新失败

        使用场合:

                    秒杀、比较适合读取操作比较频繁的场景

         案例:

                 实现乐观锁的两种方式:利用版本号或者时间戳

UPDATE TABLE SET CL1 = "TEST",VERSION = VERSION + 1 WHERE VERSION = 1

                 如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据

  悲观锁:

           好比一个非常小气的人吃东西,躲到一个房间让后把门关到,不给别人看见。每次进行更新的时候,会进行加锁(读锁、写锁、行锁等),其他的线程不能执行任何操作,会进入一个等待状态     

          使用场合:

                    比较适合写入操作比较频繁的场合 

总结:读取用乐观,写入用悲观

相关标签: 悲观锁 乐观锁