多執行緒之join()方法---(Thread提供的讓一個執行緒等待另一個執行緒完成的方法)
阿新 • • 發佈:2019-02-15
package Demo1; /** * Created by Petty on 2017/4/9. */ public class Thread_1 extends Thread { //提供一個有引數的構造器,用來設定該執行緒的名字 public Thread_1(String name){ super(name); } //重寫run()方法,定義執行緒執行 public void run(){ for(int i=0;i<10;i++){ System.out.println(getName()+" "+i); } } public static void main(String[] args) throws Exception{ //啟動子執行緒 new Thread_1("新執行緒").start(); for(int i=0;i<10;i++){ if(i==5){ Thread_1 t1 = new Thread_1("被join的執行緒"); t1.start(); //main執行緒呼叫了t1執行緒的join()方法,main執行緒 //必須等t1執行結束才會向下執行 t1.join(); } System.out.println(Thread.currentThread().getName());//輸出當前正在執行的程序的名字 } } }
執行結果:
main
main
main
main
main
新執行緒 0
被join的執行緒 0
新執行緒 1
被join的執行緒 1
新執行緒 2
被join的執行緒 2
新執行緒 3
被join的執行緒 3
新執行緒 4
被join的執行緒 4
新執行緒 5
被join的執行緒 5
新執行緒 6
被join的執行緒 6
新執行緒 7
被join的執行緒 7
新執行緒 8
被join的執行緒 8
新執行緒 9
被join的執行緒 9
main
main
main
main
main