有一种操作情况:
第一步,查询货物存货量,判断货物存货量是否大于出货量。若大于则到第二步。
第二步,则将货物存货量-出货量。怎么保证并发的时候不会出现下面的情况:
线程1,开始。
线程1,第一步查询存货量为10,出货量为9,存货量大于出货量。
线程2,开始。
线程2,第一步查询存货量为10,出货量为5,存货量大于出货量。
线程1,第二步,存货量=10-9=1
线程2,第二步,存货量=1-5=-4
。除了同步的方法,还有其它方法可以保证并发时不会出现以上情况吗?