Lost Update
丢失更新是两个事务读旧值后各自计算并写回,后写覆盖先写导致先写的更新丢失。
用途
识别并发更新丢失问题,选择正确的乐观并发控制策略。
机制
T1 读 X=100,T2 读 X=100,T1 写 X=110,T2 写 X=120。T1 的更新被 T2 覆盖丢失。防御:SELECT FOR UPDATE、版本号检查、CAS 原子操作。
用例
- 并发更新防御
- 乐观锁设计
- CAS 模式
丢失更新是两个事务读旧值后各自计算并写回,后写覆盖先写导致先写的更新丢失。
识别并发更新丢失问题,选择正确的乐观并发控制策略。
T1 读 X=100,T2 读 X=100,T1 写 X=110,T2 写 X=120。T1 的更新被 T2 覆盖丢失。防御:SELECT FOR UPDATE、版本号检查、CAS 原子操作。