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();

有新的任务提交,就会创建新的线程(线程池中没有空闲线程时),不需要等待,所以基本上同时完成

而且因为线程池为无限大,当执行第二个任务时第一个任务已经完成,会复用执行第一个任务的线程,而不用每次新建线程。

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