Android线程池综述——自定义线程池

更新: 2016-07-24 09:12 作者:

1、常用线程池创建使用分析 2、自定义线程池

题记——

        难过了,悄悄走一走;

        伤心了,默默睡一觉;

        优雅不是训练出来的,而是一种阅历;

        淡然不是伪装出来的,而是一种沉淀;

 

        时间飞逝,老去的只是我们的容颜;

        时间仿佛一颗灵魂,越来越动人;

1、简述:

    在多线程的世界中,是那么的神奇 与 高效以及合理;

2、创建线程池实例

    官方推荐使用Executors类工厂方法来创建线程池管理,Executors类是官方提供的一个工厂类,里面封装了好多功能不一样的线程池,从而使得我们创建线程池非常的简单:

Android线程池综述——自定义线程池

3、使用线程池来管理任务

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

4、Executors核心创建说明

从图中可以看到:可以看到1 - 3 创建线程池的方法中,全部是创建了ThreadPoolExecutor这个对象实例,不同的只是构造中的参数不一至,而在4 与5 ,从其继承的角度来看

public class ScheduledThreadPoolExecutor        extends ThreadPoolExecutor        implements ScheduledExecutorService { 

可以看到其实质也是继承于ThreadPoolExecutor这个对象实例。

也就是说上述一种类型的线程池其都是 ThreadPoolExecutor子类,其实直接创建ThreadPoolExecutor实例对象,只需要传入相对应的配制参数,就可以创建出来与上述五种效果相一至的线程池管理,只不过是在书写的时候太过于繁锁。

public ThreadPoolExecutor(int corePoolSize,   

                                            int maximumPoolSize,                             

                                           long keepAliveTime,                             

                                           TimeUnit unit,                             

                                           BlockingQueue<Runnable> workQueue) {       

this(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue,             Executors.defaultThreadFactory(), defaultHandler);    }

Android线程池综述——自定义线程池

5、

ThreadPoolExecutor简述

从上述创建ThreadPoolEecutor实例的构造来说,

Android线程池综述——自定义线程池

6、自定义线程池:

Android线程池综述——自定义线程池

Android线程池综述——自定义线程池

7、自定义扩展线程池:

http://my.oschina.net/u/2447911/blog/716828

可以参考开发