判斷執行緒池所有任務是否執行完畢
阿新 • • 發佈:2019-02-15
newFixedThreadPool
建立一個固定大小的執行緒池。
shutdown():用於關閉啟動執行緒,如果不呼叫該語句,jvm不會關閉。
awaitTermination():用於等待子執行緒結束,再繼續執行下面的程式碼。該例中我設定一直等著子執行緒結束。
public class Test { public static void main(String[] args) throws IOException, InterruptedException { ExecutorService service = Executors.newFixedThreadPool(2); for (int i = 0; i < 4; i++) { Runnable run = new Runnable() { @Override public void run() { System.out.println("thread start"); } }; service.execute(run); } service.shutdown(); service.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); System.out.println("all thread complete"); } }