深入浅出Java(Android )线程池ThreadPoolExecutor
前言 关于线程池 在Java/Android开发中,设计到并发的请求,那基本上是离不开线程池了。用线程池的好处: 1、减少线程频繁创建、销毁的开销; 2、好控制并发量,降低OOM的可能,至于原因文中会说; 3、提高程序的响应速度,因为可以省去部分创建的过程; 要不要深度学习线程池 对于服务端的同学来说应该会比较重视这一块,因为需要做高并发;而移动端的同学可能比较容易忽略这一块。有些人觉得平时也用不到,移动端没有那么大并发量,或者说第三方框架中已经完成了,比如 OkHtttp ; 其实只能说有这种想法的同学还没有遇到大一点的项目或者说没有太多多线程优化的经验。 如果你真的遇到了这种项目瓶颈,你连线程池的运行原理都不知道,那又如何解决项目问题呢? 如果你要寻求一份中高级开发工程师的工作,那线程池是基本是必问题目之一,而且还要有一定深度。 如何深度学习线程池 这也是我们今天的重点,本文将从下面几点带大家快速掌握线程池的要点: 1、从API使用到原码解析,基于JDK1.8版本; 2、从源码阅读(深入)中总结出(浅出)线程池工作原理; 3、对应用场景的分析以及异常处理 预览 线程池类图.png 先对线程池的部分核心类/接口做个简介,大家有个印象就好。 Executor接口 public interface Executor { /** * 就一个方法,用来执行线程任务的