1. 程式人生 > >多線程的兩種方法(賣票系統展示)

多線程的兩種方法(賣票系統展示)

窗口 public str start pub new end getname .get

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張票

多線程的兩種方法(賣票系統展示)