Java多线程面试题

面试官问:如果一个物品在网上商城上面只剩3个,这时候有两个用户同时提交了每人买2个的请求,如果后台服务器采用分布式服务器,那么怎么解决这种并发问题?
我回答说:可以考虑在卖的方法上面加锁,用关键字sync或是lock,让用户排队,确保线程安全。
面试官说:那这样就是单线程了,如果一件商品在商城上面卖的非常好,你这种方法是不是会造成用户买商品的请求、响应和等待时间过长的问题,会不会造成购买效率底下的问题?
我回答说:...

大家看应该怎么解决这个问题呢?

感觉应该是在操作数据库的时候同步,数据库操作成功了,就是购买成功了,不成功就会给出对应提示
温馨提示:答案为网友推荐,仅供参考
相似回答