首页 课程 师资 教程 报名

乐观锁原理

  • 2022-11-02 10:00:29
  • 436次 星辉

乐观锁原理是什么?

乐观锁∶故名思意十分乐观,它总是认为不会出现问题,无论干什么不去上锁!如果出现了问题,再次更新值测试

悲观锁:故名思意十分悲观,它总是认为总是出现问题,无论干什么都会上锁!再去操作!

我们这里主要讲解乐观锁机制!

乐观锁实现方式:

取出记录时,获取当前version

更新时,带上这个version

执行更新时, set version = newVersion where version = oldVersion

如果version不对,就更新失败

乐观锁的原理:就是通过version的值来进行,判断,乐观锁会在动态的通过and拼接到where的判断条件下,在多线程执行的时候,就会通过判断version的值来,进行具体的操作,若当前查询出的version的值与所查询的值不相等,则该操作就不会被执行。

乐观锁的原理:就是通过version的值来进行,判断

 Preparing: UPDATE user SET name=?, age=?, email=?, version=?, create_time=?, update_time=? 
 WHERE id=? AND version=? 

乐观锁:1、先查询,获得版本号

version = 1
-- A
update user set name = "wang", version = version + 1
where id = 2 and version = 1

--B线程抢先完成,这个时候version = 2,会导致A修改失败!

update user set name = "wang", version = version + 1
where id = 2 and version = 1

 

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交