学会使用线程池,执行流程是怎么样的,请看如下:
1、线程池的核心参数
1、核心线程数corePoolSize
1、确定核心线程数配置
总体根据如下确定:
5、任务队列workQueue
1、常见队列
有界即使用的时候必须给定大小。
如下:LinkedBlockingQueue是单向链表,两把锁意思是头尾可以一边入队一边出队,ArrayBlockingQueue是数组,一把锁意思是入队和出队无法一起同时做,效率较低。
实际开发中LinkedBlockingQueue用的较多,一般会设置一个默认大小。
2、线程池的执行流程
3、线程池的种类
1、固定线程数类型
2、单核心线程类型
3、可缓存线程类型
之所以叫可缓存线程池,是因为它在创建新线程时如果有可重用的线程,则重用它们,否则创建一个新线程并将其添加到线程池中;
