在并发场景下,多个线程可能同时通过步骤2的库存校验(例如线程A和线程B均查询到库存为100,且均需扣减50),最终导致步骤3的更新操作叠加,出现超卖。数据库乐观锁(基于version字段)虽能解决最终一致性,但频繁的更新失败重试会导致大量请求阻塞,降低系统吞吐量。
在并发场景下,多个线程可能同时通过步骤2的库存校验(例如线程A和线程B均查询到库存为100,且均需扣减50),最终导致步骤3的更新操作叠加,出现超卖。数据库乐观锁(基于version字段)虽能解决最终一致性,但频繁的更新失败重试会导致大量请求阻塞,降低系统吞吐量。