java開啟多個執行緒,執行完成後再執行主執行緒
阿新 • • 發佈:2019-01-30
博主昨天去一家公司面試,被面試官問到一個問題,如果開啟10個執行緒,但是需要這10個執行緒都執行完成後,再交由主執行緒統一輸入,如何實現?當時我沒有回答,我對多執行緒並不是那麼的熟悉,面試結束後,我通過查閱資料找到了解決方案,下面我貼出程式碼:
int count = 10;
List<Thread> workers = new ArrayList<>();
for(int i = 0; i < count; i++) {
Thread worker = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("執行子執行緒");
}
});
worker.start();
workers.add(worker);
}
for(int i = 0; i < count; i++) {
workers.get(i).join();
}
System.out.println("執行主執行緒" );
所有執行緒start之後,通過join方法等待執行緒執行完成,當所有執行緒執行完成後再執行後面的主執行緒方法。