悲观锁(Pessimistic Locking)
缩写:无
简述
假设冲突会发生:先加锁再读写,阻止他人并发修改。典型为 SELECT ... FOR UPDATE。
使用场景
余额扣减、座位占用、强互斥状态机。
实践与应用
• 锁范围最小化;尽快提交。
• 与业务超时结合,避免永久阻塞。
• 注意索引条件以免锁升级到过大范围。
注意事项
• 易死锁与锁等待;吞吐敏感。
• 事务中调用外部服务会拉长持锁。
对比与易混
| 悲观 | 乐观 | |
|---|---|---|
| 适合 | 冲突密 | 冲突稀 |
关联术语
• 乐观锁:冲突稀少时的对照
• 行锁:常见粒度
• 事务:持锁范围