我看到有很多评论说这样的秒杀做法不行,我倒是感觉讲师的意思是一种限流的概念,并非是份数的把控,如果需要做到不超卖,还需要再用一个队列对产品的份数进行一个校验。
2020-09-08
最赞回答 / 寻找09之夏
视频中采用for循环测试,这个是有序的,所以不会出现超卖现象;如果并发测试的话,会出现超卖现象;这里提供一个解决思路:活动前定义一个长度为10的list;利用lpop的原子性可以保障不会超卖;就是每次请求先lpop,如果可以获取到值,表示秒杀成功;获取不到说明已抢完。
2019-09-21