newCached ThreadPool(创建一个可缓存线程池):
优点:很灵活,弹性的线程池线程管理,用多少线程给多大的线程池,不用后及时回收,用则新建
缺点:一旦线程无限增长,会导致内存溢出。
newFixed ThreadPool :
优点:创建一个固定大小线程池,超出的线程会在队列中等待。
缺点:不支持自定义拒绝策略,大小固定,难以扩展
newScheduled ThreadPool :
优点:创建一个固定大小线程池,可以定时或周期性的执行任务。
缺点:任务是单线程方式执行,一旦一个任务失败其他任务也受影响
newSingle ThreadExecutor :
优点:创建一个单线程的线程池,保证线程的顺序执行
缺点:不适合并发。。不懂为什么这种操作要用线程池。。为什么不直接用队列
统一缺点:不支持自定义拒绝策略。
ThreadPoolExecutor优势
第一:降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗
第二:提高响应速度,当任务到达时任务不需要等到线程创建就能立即执行
第三:提高线程的可管理性,使用线程池进行统一的分配,调优和监控