关于秒杀,多个用户抢同一件商品

不是学Java的同学不必往下看了

今天中午与同事吃饭,回公司的路上这位同事说有个人问他一个问题“假如两个人同时购买一件商品该怎么办?”

就像上面的大妈在抢购减价的鸡蛋,就好像不要钱一样。。售货员就很无奈。。

当时我脑子里瞬间想到的是上锁,队列。把加入购物车这一步骤给锁起来,这样可以避免超卖现象。

然后我的同事追问“同时呢,两个人同时买该怎么办?”

答:“你都已经上锁了,用户1和用户2同时点但是对象只有一个,谁先到谁就先获取锁,另一个就只能等待解锁。”

这样的回答我自己也很不满意,回到公司后我就开始去大佬的群里问这个问题该怎么办。

群里的大佬告诉我在Java里“ java多线程是切换cpu时间片的,当前时间之可能会有一个线程运行,所以100%是先来后到的”

更多分布式秒杀技术及案例请参考:

小七的分布式秒杀案例:https://gitee.com/52itstyle/spring-boot-seckill

小七的博客:https://blog.52itstyle.com/

posted @ 2018-10-30 13:13  山抹微云君^^  阅读(1536)  评论(1编辑  收藏  举报

Live2D
哈哈,你打开了控制台,是想要看看我的秘密吗?