两个请求同时到达
例如 像淘宝秒杀商品的活动 就一件商品 有几十个请求同时到达 该怎么处理?
如果用synchronized的话会造成所有用户的等待 怎样做一个快速的同步 让一个人去买 其他人直接返回商品售完。
哪位大哥大姐 教教啊 具体点 小弟刚上班 谢谢 好心人快来啊
------解决方案--------------------
这就是一个排他的问题。理论上不可能完全出现同时到达,总有先后关系。而出现的问题是,我看到初始状态,你也看到初始状态。而实际上应该是第二个人看到的状态是第一个人处理后的状态。所以就是个排他问题。第一个人进来之后,其他人不能再处理这个东西。等第一个人处理完了。第二个人再处理。
排他的方式有很多。说个有点无赖的吧。你可以指定一个端口号,建立一个服务。处理完之后再关掉这个服务。至少,不可能两个线程都用同一个端口号创建服务成功。不管到底谁先到达,谁先成功创建服务,谁就是第一个。而失败的一个则可以等待几毫秒,继续试验能否创建服务。也可以直接返回一些信息。
方式多种多样,自己多想想。
------解决方案--------------------请求不会同时到达滴。。。。。