Android线程池的使用
一、线程池介绍
1.1原理
Executor是一个接口,只有一个方法void execute(Runnable command);
真正的线程的实现为ThreadPoolExecutor。(ThreadPoolExecutor继承了AbstractExecutorService,AbstractExecutorService是ExecutorService的实现类,ExecutorService继承了Executor接口)。
ThreadPoolExecutor extends AbstractExecutorService implements ExecutorService extends Executor
1.2分类
从线程池的功能来说可以分四类:
- FixedThreadPool(线程数量固定)
- CacheThredPool(线程数量不固定)
- ScheduledThreaPool(核心线程数量固定,非核心线程数量无限制)
- SingleThreadExecutor(只有一个核心线程,所有任务按照顺序排列)
1.3优点
- 重用线程池中的线程,避免频繁的创建和销毁线程带来的内存开销
- 有效控制线程最大并发数,避免线程间抢占资源而导致的阻塞现象
- 能够对线程进行简单的管理,提供定时执行以及制定时间间隔循环执行