线程池是指在初始化一个多线程应用程序过程中创建的一个线程集合
线程的分类:
(1)FixedThreadPool :
线程数量固定,只有核心线程且不会被回收,当所有线程都处于活动状态时,新任务都会处于等待状态
知道有线程空闲出来。
(2)CacheTheardPool:
线程数量不定,只有非核心线程,有超时制,时长为60s,超过60s就会被回收,当线程池里面所有的线
程都处于活动状态时,它会创建新的线程来处理任务,任何任务都会被立即执行。
(3)ScheduledThreadPool:
核心线程的数量是固定的,非核心线程数量是不固定的,且非核心线程有超时机制,只要处于空闲就会被
立即回收,这种线程池主要用于具有固定任务周期的重复任务
(4)SingleTheardPool:
只有一个核心线程,它会使所有的任务都在同一个线程中桉顺序执行,因此在这些任务之间不需要处理
线程同步的问题。
-------------------------------------------------------------------------------------------------------------------
引入线程池的好处:
1. 提升性能,避免重复创建和回收对象,浪费时间以及占用CPU资源
2. 防止内存过度消耗,控制活动线程的数量,防止并发线程过多。