Android线程池
优点:
- 重用线程池的线程,减少线程创建和销毁带来的性能开销
- 控制线程池的最大并发数,避免大量线程互相抢系统资源导致阻塞
- 提供定时执行和间隔循环执行功能
3. 执行任务大致遵循如下规则:
大致流程如下图所示:
1、如果线程池中的线程数量未达到核心线程的数量,那么会直接启动一个核心
线程来执行任务
2、如果线程池中的线程数量已经达到或超过核心线程数量,那么任务会被插入到
2、如果线程池中的线程数量已经达到或超过核心线程数量,那么任务会被插入到
任务队列中排队等待执行
3、如果步骤2中无法将任务插入到任务队列中,往往是因为任务队列已满,这个时
3、如果步骤2中无法将任务插入到任务队列中,往往是因为任务队列已满,这个时
候如果线程数量未达到线程池规定的最大值,那么会立刻启动一个非核心线程来执行任务
4、如果步骤3中线程数量达到线程池规定的最大值,线程池会拒绝执行任务,并会
调用RejectedExecutionHandler的rejectedExecution方法来通知调用者