Redisアプリケーション(2番目のkill V1バージョン)

ロック解除されたバージョンはデータの不規則性をもたらします。

@Override
public void orderProductMockDiffUser(String productId)
{
    //1.查询该商品库存,为0则活动结束。
    int stockNum = stock.get(productId);
    if(stockNum == 0) {
        throw new SellException(100,"活动结束");
    }else {
        //2.下单(模拟不同用户openid不同)
        orders.put(KeyUtil.genUniqueKey(),productId);
        //3.减库存
        stockNum =stockNum-1;
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        stock.put(productId,stockNum);
    }
}

元の記事952件を公開 1820年に賞賛 89万回の閲覧

おすすめ

転載: blog.csdn.net/Dream_Weave/article/details/105415559