← 返回生产场景

🔒 并发与锁

竞态 / CAS / 锁 / 幂等 / 分布式锁

🏃竞态条件基础
count++ 不是原子(读-改-写三步),并发下丢更新。
// AtomicInteger(CAS无锁) AtomicInteger count = new AtomicInteger(0); count.incrementAndGet(); // 原子自增 // DB乐观锁(条件更新) // UPDATE SET stock=stock-1 WHERE id=? AND stock>0
🔐synchronized vs ReentrantLock
维度synchronizedReentrantLock
释放自动手动finally
超时✅ tryLock(3s)
公平非公平可选
🌐分布式锁(Redisson)
// 生产用Redisson(看门狗自动续期) RLock lock = redisson.getLock("lock:order:" + orderId); if (lock.tryLock(5, 30, SECONDS)) { try { biz(); } finally { lock.unlock(); } }
生产场景 · 并发与锁 · 全栈资料库