Android 中的线程池
为什么使用线程池? 1、重用线程,防止频繁的创建销毁线程所带来的时间和资源等性能损耗。 2、有效的控制最大线程并发数,防止大量线程抢夺系统资源引起卡顿,合理利用系统资源。 3、对线程进行简单管理、以及线程间更好的协作工作 Android 中有哪几种线程池? 实际意义上我们所说的几种常用线程池都是 Java 封装好,都在 Executors 这个工厂类里面了,笔者使用的是 JDK8 所以发现里面有六种线程池,接下来分别介绍下 1. FixedThreadPool 数量固定的核心线程池,当线程池处于空闲时线程也不会被回收,除非线程被关闭了。如果所有线程都在运行中,再有新任务添加时新任务会处于等在状态,知道有线程空闲在运行。处于等待的任务没有数量上限 2. CachedThreadPool 这是一种线程数量不定的线程池,他只有非核心线程,线程池如果没有空闲线程,会随时创建新的线程来工作,如果空下来的线程空闲时长超过 60 秒,则会被回收。他在长时间不工作的时候内部是没有任何线程的,也就是不消耗任何资源 3. SingleThreadExecutor 只有一个核心线程的线程池,所有任务都要排队...