不是學Java的同學不必往下看了
今天中午與同事吃飯,回公司的路上這位同事說有個人問他一個問題“假如兩個人同時購買一件商品該怎么辦?”

就像上面的大媽在搶購減價的雞蛋,就好像不要錢一樣。。售貨員就很無奈。。
當時我腦子里瞬間想到的是上鎖,隊列。把加入購物車這一步驟給鎖起來,這樣可以避免超賣現象。
然后我的同事追問“同時呢,兩個人同時買該怎么辦?”
答:“你都已經上鎖了,用戶1和用戶2同時點但是對象只有一個,誰先到誰就先獲取鎖,另一個就只能等待解鎖。”
這樣的回答我自己也很不滿意,回到公司后我就開始去大佬的群里問這個問題該怎么辦。
群里的大佬告訴我在Java里“ java多線程是切換cpu時間片的,當前時間之可能會有一個線程運行,所以100%是先來后到的”
更多分布式秒殺技術及案例請參考:
小七的分布式秒殺案例:https://gitee.com/52itstyle/spring-boot-seckill
小七的博客:https://blog.52itstyle.com/
