1. 程式人生 > >java 多執行緒—實現Runable介面

java 多執行緒—實現Runable介面

/* 多視窗同時買票。

建立執行緒的第二種方式:實現Runable介面

步驟:
1、定義類實現Runable介面
2、覆蓋Runable介面中的run方法
     將執行緒要執行的程式碼存放在該run方法中
	 
3、通過Thread類建立執行緒物件。
4、將Runnable介面的子類物件作為實際引數傳給Thread類的建構函式。
	為什麼要將Runable介面的子物件傳遞給Thread的建構函式。
	因為,自定義的run方法所屬的物件時Runable介面的子物件。
	所以要讓執行緒去指定指定物件的run方法,就必須明確該run方法所屬的物件
	
5、呼叫Thread類的Start方法開啟執行緒並呼叫Runable介面子類的run方法。
 
 實現方式和繼承方式有什麼區別?
 實現方式好處:避免了單繼承的侷限性。
 在定義執行緒時,建議使用實現方式。
 
 兩種方式的區別:
 繼承Thread類:執行緒程式碼存放在Thread子類的run方法中
 實現Runable介面: 執行緒程式碼存放在Runable子類的run方法中。
*/

class Ticket implements Runnable{
	private int tick = 100;
	public void run(){
		while(true){
			if(tick>0){
				System.out.println(Thread.currentThread().getName()+"--sale : "+ tick--);
			}
		}
	}
}
class TicketTest{
	public static void main(String[] args){
		/*Ticket t1 = new Ticket();
		//Ticket t2 = new Ticket();
		//Ticket t3 = new Ticket();
		//Ticket t4 = new Ticket();
		t1.start();
		t1.start();
		t1.start();
		t1.start();
		*/
		Ticket t = new Ticket();
		Thread t1 = new Thread(t);
		Thread t2 = new Thread(t);
		Thread t3 = new Thread(t);
		t1.start();
		t2.start();
		t3.start();
	}
}