多线程售票案例

Tickets实现Runnable:

public class Tickets implements Runnable {
    
    //定义可以出售的票源
    private int ticket=100;
    
    public void run(){
        while(true){
            //对票数判断,大于0,可以出售
            if(ticket>0){
                System.out.println(Thread.currentThread().getName()+ "出售第"+ticket--);
            }
        }
    }

}


测试类Demo:

/*
 * 多线程并发访问同一个数据资源
 * 3个线程,对一个票资源,出售
 */
public class ThreadDemo {
    public static void main(String[] args) {
        //创建Runnable接口实现类对象
        Tickets t=new Tickets();
        //创建3个Thread类对象,传递Runnable接口实现类
        Thread t0=new Thread(t);
        Thread t1=new Thread(t);
        Thread t2=new Thread(t);
        
        t0.start();
        t1.start();
        t2.start();
    }
}


猜你喜欢

转载自blog.csdn.net/summoxj/article/details/80854421