面试真题

数据库 · 简单 · 网易

乐观锁和悲观锁?

简单 数据库 🎤 网易
参考答案
结论:悲观锁假定冲突必现故操作前加锁;乐观锁假定冲突少故提交时校验版本。原理与差异:1.悲观锁如数据库SELECT FOR UPDATE、Java synchronized,线程独占资源防冲突但并发低可能死锁;2.乐观锁如读带版本号、更新CAS或WHERE version=old,冲突重试无死锁但高冲突下开销大;3.适用:写多读少用悲观,读多写少用乐观。示例:扣库存悲观锁行,乐观锁条件更新。
题目整理自公开面经,答案由校招宝自研生成,仅供参考