线程泄的基本要素:
1)任务队列
2)线程泄:管理线程 initThread <=core<=maxThread
3)拒绝策略
5)QueueSize
6)时间间隔
2.线程泄框架ecutors介绍和使用
3.Executors源码分析
线程泄不建议用Executors去创建,因为这个方法底层调用的是
ThreadPoolExecutor,所以在使用的时候直接调用它去创建,减小内存消耗尽的风险。
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue) {
this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,
Executors.defaultThreadFactory(), defaultHandler);
}
线程工厂线程泄的几个参数说明:
corePoolSize 核心线程数
maximumPoolSize最大线程数,
keepAliveTime,unit 间隔时间
workQueue 任务队列
4.线程泄的状态变化
线程泄大小的配置
cpu密集型:大量的计算数量
IO密集型:大量的IO操作CPU数量*2