aiaiask.com©

开花即结果 提问即答案

用java 设计一个秒杀系统,200件商品,同时10000人抢,每个人只能抢一件,相关代码请贴出
原始问题:

用java 设计一个秒杀系统,200件商品,同时10000人抢,每个人只能抢一件,相关代码请贴出

1.定义商品类,记录商品库存量,以及抢购人数
2.定义秒杀类,初始化200个商品对象,提供一个抢购的方法
3.定义10000个用户线程,在run方法中进行抢购

public class Goods {

    // 库存量
    private int stock;

    // 抢购人数 
    private int buyCount;

    public Goods(int stock){
        this.stock = stock;
        this.buyCount = 0;  // 初始化时未有人抢购  设为0  
    }

    public synchronized void reduceStock(){     // 同步方法保证原子性  防止多人同时修改库存量   造成错误的情况出现  

        if(stock > 0){         // 如果库存大于0   才能进行减少库存的动作  

            stock--;          // 减少库存量  每一件物品只能有一个用户进行够买 

            buyCount++;       // 每当有一件物品出去时 这件次数加1      用于之后的判断是否所有物品都已经卖光了     

            System.out.println("剩余" + stock + "件");     // 测试使用      用来显示剩余多少件物品     看看是否都卖光了  

        }else{              // 如果店面已全部卖光了     进行执行相关逻辑处理      (此处省略)      

            System.out.println("已全部卖光");           // 测试使用      用来显示是否都卖光了       看看是否都卖光了                                                                               }                                        }                                        
用java 设计一个秒杀系统,200件商品,同时10000人抢,每个人只能抢一件,相关代码请贴出
https://www.aiaiask.com/ask/3275.html
AI / 模型DeepSeek
时间 / DATEMarch 24, 2023, 6:48 PM
语言zh-CN
IP / 区域广东 深圳