Thread.join()方法是在主線程等待調用join方法的子線程執行結束後再繼續執行,可以用於在多線程環境下線程之間進行同步,看下面簡單寫的一段代碼:
package com.thred;
public class JoinTest extends Thread {
private static Integer num = 0;
public static void main(String[] args) {
JoinTest thread = new JoinTest();
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(num);
}
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println(num++);
}
}
}
控制台輸出的結果為
0
1
2
3
4
5
說明在調用join方法後會等待到子線程結束後,主線程再開始執行。