java 多執行緒—實現Runable介面
阿新 • • 發佈:2019-02-20
/* 多視窗同時買票。 建立執行緒的第二種方式:實現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(); } }