package com.day20;

public class Test {
    public static void main(String[] args) {
        Demo01 site = new Demo01();
        Thread person1= new Thread(site,"桃跑跑");
        Thread person2= new Thread(site,"抢票代理");
        Thread person3= new Thread(site,"黄牛党");
        person1.start();
        person2.start();
        person3.start();
    }
}
package com.day20;

public class Demo01 implements Runnable {
    private int count = 10; // 记录剩余票数
    private int num = 0; // 记录买到第几张票
    private boolean flag = false;  //记录是否售完

    public void run() {
        while (true) {
            if(!sale()){
                break;
            }
        }
    }
    // 同步方法:卖票
    public synchronized boolean sale() {
        if (count <= 0) {
            return false;
        }
        // 第一步:修改数据
        num++;
        count--;
        try {
            Thread.sleep(500); // 模拟网络延时
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 第二步:显示信息
        System.out.println(Thread.currentThread().getName() + "抢到第" + num
                + "张票,剩余" + count + "张票!");
        if(Thread.currentThread().getName().equals("黄牛党")){
            return false;
        }
        return true;

    }
}

猜你喜欢

转载自www.cnblogs.com/zhangbupang/p/11306000.html