乐观锁和悲观锁
一 概述
1.悲观锁,
真上锁,只有当前线程可以修改数据,优点是安全,缺点是并发数低
2.乐观锁,
不上锁,代码逻辑实现,基本原理,加个版本号,修改数据会同步修改版号,一个线程修改数据前,先获取版本号,然后使用获取的版本号修改数据,若期间有线程修改数据则版本会变动,那么本线程将不会改到数据,修改结果返回记录0,程序捕获结果进行后续处理。
优点是不安全,缺点是并发数高
二 实例
1. 乐观锁
表中加一个version字段
select version from business where id = 100
update
business
set
total = 6666
where
id = 100
and version = "上条语句查到的version"
若此时有其它线程修改数据,会修改version,那么本线程使用之前查询的version不会修改到数据,
反应到结果上,修改条数为0,此时代码获取到结果后可以做一些异常处理
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号