java線程池之newCachedThreadPool

1、特點:

不可以自定義最大線程池數量、可靈活回收空閒線程、線程池大小完全依賴於操作系統能夠創建的最大線程大小

2、創建實例:

ExecutorService executorService1 = Executors.newCachedThreadPool();

3、運行舉例

        ExecutorService executorService1 = Executors.newCachedThreadPool();
        for (int i = 1; i < 10; i++) {
            int finalI = i;
            executorService1.execute(() -> {
                System.out.println(finalI);
            });
        }
        executorService1.shutdown();

有新的任務提交,就會創建新的線程(線程池中沒有空閒線程時),不需要等待,所以基本上同時完成

而且因爲線程池爲無限大,當執行第二個任務時第一個任務已經完成,會複用執行第一個任務的線程,而不用每次新建線程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章