首页 > 代码库 > 多线程的两种方法(卖票系统展示)

多线程的两种方法(卖票系统展示)

public  class MyThread1 implements Runnable{
    
    int i=20;
 String name;
    public MyThread1() {
        // TODO 自动生成的构造函数存根
        this.name=name;
    }




    public void run(){
        
        for(int x=0;x<20;x++){
            if(i>0){
                System.out.print(Thread.currentThread().getName()+"    ");
                System.out.println("售票窗口:"+"  "+"余票\t"+i--);
                
            }
        }
    }
}
 class Test{
    public static void main(String []args){
        
        MyThread1 myth1=new MyThread1();//创建线程对象
        
        new Thread(myth1,"线程1").start();
        
        new Thread(myth1,"线程2").start();
        
        new Thread(myth1,"线程3").start();
//        myth1.start();
//        myth1.start();
//        myth1.start();
    }
}
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
20张票的输出结果:为三个线程共卖出20张票

public class MyThread extends Thread{
//String name;
int i=20;

public void run (){
    for(int x =0;x<20;x++){
        if(i>0){
            System.out.println("卖票"+"     "+"余票\t="+i--);
        }
    }
}
////
}
//创建了三个线程,每个线程售出20张票
 class TestDemo{
    public static void main(String []args){
    MyThread myth1=new MyThread();
    MyThread myth2=new MyThread();
    MyThread myth3=new MyThread();
    myth1.start();
    myth2.start();
    myth3.start();
    
    }
}
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
20张票的输出结果为:三个线程每个卖出20张,共卖出60张票

 

多线程的两种方法(卖票系统展示)