Thread類實現買電影案例

King問發表於2020-10-05
package cn.itcast_01;
/*
 * 某電影院目前正在上映賀歲大片,共有100章票,而它有三個售票視窗,請設計一個程式模擬該電影院售票
 * 
 * 繼承Thread類來實現
 * 
 */
public class Thread類實現買電影案例 {

	public static void main(String[] args) {
		//建立三個執行緒物件
		MyThread my1 = new  MyThread();
		MyThread my2 = new  MyThread();
		MyThread my3 = new  MyThread();
		
		//給執行緒起名字
		my1.setName("視窗1");
		my2.setName("視窗2");
		my3.setName("視窗3");
		
		//啟動執行緒
		my1.start();
		my2.start();
		my3.start();
	}
}
package cn.itcast_01;
public class MyThread extends Thread{
	
	//定義100章票
	//private int ticket = 100;
	//為了讓多個執行緒共享著100章票,我們其實應該用靜態修飾
	private static int ticket = 100;
	
     public  void run() {
		//定義100章票
    	//每個執行緒進來都會走這裡,這樣的話,每個執行緒物件相當於買的是自己的那100章票,這不合理
    	// int ticket = 100;
    	 
    	 //是為了摸擬一值有票
    	 while(true)
		    if(ticket>0) {
		    	System.out.println(getName() + "正在出售"+(ticket--)+"張票");	 
		    }
	     }  
   }

相關文章