某些情況、主線程中啟用了子線程蛹头,如果子線程需要大量的算法院塞,需要運算的時間較長蛔垢,主線程可能會在子線程結(jié)束前就結(jié)束,這個時候如果想等待子線程結(jié)束后再結(jié)束主線程迫悠,可以使用join()方法。
例:
public class JoinTest {
public static void main(String[] args) throws InterruptedException {
Thread thread1= new Thread(()->{
try {
Thread.sleep(9000);//子線程處理中
System.out.println("子線程處理完成");
} catch (InterruptedException e) {
e.printStackTrace();
}
});
thread1.start();
thread1.join();
System.out.println("主線程結(jié)束");
}
}
結(jié)果:
子線程處理完成
主線程結(jié)束
如圖上結(jié)果所示 巩梢,加入join()方法后创泄,主線程只有等待子線程計算完成后,才會返回結(jié)果括蝠。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者