1、场景 电商场景下,有个程序的工作流程 1、读取商品信息(商品信息中包含库存) 2、用户下单购买 3、更新商品信息(更新库存信息) 2、操作 现在有多个用户同时操作,多个线程同时并发去执行上面的3个步骤 用户A获取到库存100件 用户B获取到库存100件 然后两个用户同时提交订单,但是总有一个线程是先到的,如果线程A先到,就会先将库存 -1 设置为99件。然后线程B再次将库存设置为 99 件,此时结果已经错了。 3、我们期待的结果 线程A先将库存设置为99件,线程B在99件的基础上 -1 设置为 98 件