乐观锁原理 - 极悦
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 乐观锁原理

乐观锁原理

更新时间:2022-11-02 10:00:29 来源:极悦 浏览507次

乐观锁原理是什么?

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

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

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

乐观锁实现方式:

取出记录时,获取当前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

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>