线程池相关类与接口继承图
利用jdk提供的线程池类Executors创建fixedThreadExecutor,cachedThreadPool,scheduledExecutor
-
ExecutorService fixedThreadExecutor = Executors.newFixedThreadPool(1);
-
ExecutorService cachedThreadPool = Executors.newCachedThreadPool(FACTORY);
-
ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(1);
事实上面这种创建方式,如果你的idea装了阿里代码规范,会一直提示错误,而是建议你去手动创建。
自己去定义设置核心线程数量,最大线程数量,线程存活时间,阻塞队列的类型,线程工厂,饱和策略
这样我觉的更加的灵活。
ThreadPoolExecutor executor = new ThreadPoolExecutor
(CORE_POOL_SIZE, MAX_POOL_SIZE,
0,
TimeUnit.MILLISECONDS, workQueue,
Executors.defaultThreadFactory(),
MY_REJECTED_EXECUTION_HANDLER);
而jdk也特地提供了ScheduledThreadPoolExecutor类,用来处理延时任务。