面试真题

数据库 · 中等 · 阿里巴巴

乐观锁和悲观锁的策略

中等 数据库 🎤 阿里巴巴
参考答案
结论:悲观锁策略为显式加锁独占;乐观锁策略为版本号/CAS无锁校验。具体:1.悲观锁含数据库行锁(SELECT FOR UPDATE)、Java synchronized/ReentrantLock,进临界区前获锁结束释放;2.乐观锁含版本号机制(UPDATE ... WHERE id=1 AND version=old)、时间戳或CPU级CAS(如AtomicInteger.compareAndSet)循环重试;3.差异:前者阻塞线程后者重试;依据冲突频率选策略,高冲突悲观低冲突乐观。
题目整理自公开面经,答案由校招宝自研生成,仅供参考