关于减库存的并发问题
来源:6-6 买家订单-service创建_D
土豆咬土豆
2020-03-31
Integer result = productInfo.getProductStock() - cartDTO.getProductQuantity();
if (result < 0) {
throw new SellException(ResultEnum.PRODUCT_STOCK_ERROR);
}
productInfo.setProductStock(result);
repository.save(productInfo);
}
}
老师好,我想问问这一段是不是会存在并发问题,假设商品库存为1,购买数量为1,两个事务同时查到库存为1的情况,这时候两个事物的result都为0,实际应该有一个为-1了,这样是否存在两个订单都下单成功 但实际库存只有1的情况出现
写回答
1回答
-
廖师兄
2020-03-31
你问的非常对,是会出现这样的问题。课程最后有分布式锁的内容
00
相似问题