首先 并发我是这样理解的:
2 个人同时下单, 库存只有 1, 那么肯定有一个人无法抢到。也就是说, 库存只会减 1, 订单也只会生成一条。
后来我用 Jmemter 模拟 1000 人同时操作, 发现订单确实只有一个, 而且库存也没有负数, 但是我并没有做什么锁啊或者队列这些一谈到并发就会涉及到的东西。
$a
是查询到的库存
$b = $a-1;
if($b>=0){
生成订单
修改库存
}
如果没有 if
判断, 确实会负。但是如果加了这个 if
判断就库存只减少 1, 订单只有一条
那么我的问题来了, 加个 if
判断就能解决并发? 还是说实际上真正要处理的是模拟测试后出现的错误率 (Jmemter, 模拟 1000 人, error:59.5%), 或者其他?
请各位大佬解答, 如果我的思路有错误, 也请毫不留情
翻过高山走不出你
哈士奇WWW
至尊宝的传说
米琪卡哇伊
BIG阳