面试真题

数据库 · 中等 · 阿里巴巴

乐观锁和悲观锁的区别与使用场景?

中等 数据库 🎤 阿里巴巴
参考答案
结论:悲观锁操作前加锁,乐观锁提交时校验。核心区别:1)加锁时机:悲观锁先加锁再操作,乐观锁不加锁;2)冲突处理:悲观锁阻塞等待,乐观锁回滚或重试;3)性能:悲观锁开销大但安全,乐观锁开销小但可能自旋。原理:悲观锁依赖数据库行锁或Java synchronized;乐观锁用版本号/CAS实现。场景:悲观锁适用于写多读少、强一致性(如库存扣减);乐观锁适用于读多写少、高并发(如用户资料更新)。
题目整理自公开面经,答案由校招宝自研生成,仅供参考