线程池的创建有四种,分别是:
1.newCachedThreadPool,最大线程数是Integer最大值,一般不建议使用该线程池,有OOM风险。
2.newFixedThreadPool,指定线程数量。
3.newScheduledThreadPool,定时任务线程池,定时执行一些周期性任务。
4.newSingleThreadExecutor,队列型线程池,严格按照单线程先进先出执行队列任务。
【创建线程池】上述四种线程池创建方式都不建议,建议使用ThreadPoolExecutor,通过七大参数创建自定义线程池,七大参数:
1.corePoolSize,核心线程数。
2.maxPoolSize,最大线程数。
3.keepAliveTime:线程存活时间数。
4.unit:时间单位。
5.threadFactory:创建线程工厂。
6.workQueue:线程工作队列。
7.handler:拒绝策略。