线程池的使用

线程池的使用

public class PoolDemo {
    public static void main(String[] args) {
        // 使用Executors工具类创建固定大小的线程池
        ThreadPoolExecutor executorService = (ThreadPoolExecutor) Executors.newFixedThreadPool(10);

        // 对线程池进行设置
        //  核心池大小
//        executorService.setCorePoolSize();
//        //  线程没有任务时,最多保持多久会终止
//        executorService.setKeepAliveTime();
//        //  最大线程数
//        executorService.setMaximumPoolSize();
//        executorService.setRejectedExecutionHandler();
//        executorService.setThreadFactory();

        // 适合适用于Runnable
        // 没有返回值
//        executorService.execute();
        // 适合适用于Callable
        // 可以有Future返回值
//        executorService.submit();

        executorService.execute(() -> {
            for (int i = 0; i < 5; i++) {
                System.out.println(Thread.currentThread().getName()+" ==> "+i);
            }
        });
        // 关闭
        executorService.shutdown();
    }
}
posted @ 2022-03-08 19:32  CoderCatIce  阅读(38)  评论(0编辑  收藏  举报