不加鎖版,導致數據錯亂。
@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);
}
}