Android中的线程池的概念来源于Java中的Executor,Executor是一个接口,真真的线程池的实现为ThreadPoolExecutor。ThreadPoolExecutor提供了一系列参数来配置线程池。Android的线程池主要分为4类。
一、线程池的优点:
- 重用线程池中的线程。
- 能有效控制线程池的最大并发数,避免大量的线程之间因相互抢占资源而导致阻塞的现象。
- 能够对线程进行简单的管理,并提供定时执行以指定间隔循环执行等功能。
二、Android主要的四类线程池
1.FixThreadPool
它是一种线程数量固定的线程池,当线程处于空闲状态时,它们并不会被回收,除非线程池被关闭了。
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);
2.CachedThreadPool
它是一种线程数量不定的线程池,它只有非核心线程,并且其最大线程数为Integer.MAX_VALUE。
ExecutorService cachedThreadPool = Executors.newCachedThreadPool(5);
3.ScheduledThreadPool
它的核心线程数是固定的,而非核心数是没有限制的,并且当非核心线程闲置时会立即被回收。
ExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);
4.SingleThreadExecutor
这类线