ExecutorService的 isTerminated()實現子執行緒先執行完後再推出主執行緒
阿新 • • 發佈:2019-01-03
/** * 先讓所有的子執行緒執行完,再執行主執行緒*/ public class Main { public static void main(String[] args) { ExecutorService executorService=Executors.newFixedThreadPool(10); for (int i = 0; i < 10; i++) { Test test=new Test(); executorService.execute(test); } executorService.shutdown();//關閉執行緒池 //判斷是否所有的執行緒已經執行完 while (!executorService.isTerminated()) { } System.out.println("All is finished!"); // System.exit(0);//退出 } }
public class Test implements Runnable{
@Override
public void run() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(""+Thread.currentThread().getId());
}
}