Android之线程池的使用
来源:互联网 发布:电脑双肩包 知乎 编辑:程序博客网 时间:2024/06/05 20:42
1.线程池就是事先将多个线程对象放到一个容器中,当使用的时候就不用new线程而是直接去池中拿线程即可,节省了开辟子线程的时间,提高的代码执行效率,也便于集中对线程管理。
2.线程池的调用:
public static class ThreadPool{ private ThreadPoolExecutor executor; private int corePoolSize;//核心线程数 private int maximumPoolSize;//最大线程数 private long keepAliveTime;//保持活跃的时间,也即运作的时间 //构造函数: public ThreadPool(int corePoolSize,int maximumPoolSize,long keepAliveTime){ this.corePoolSize = corePoolSize; this.maximumPoolSize = maximumPoolSize; this.keepAliveTime = keepAliveTime; } //线程池中执行的: public void execute(Runnable r){ if(executor==null){ executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>(), Executors.defaultThreadFactory(), new AbortPolicy()); } executor.execute(r);//见当前runnable对象传放在线程池中 } }
3.项目中应该只能由一个线程池,所以应该将线程池设计为单例模式,代码如下:
private static ThreadPool mThreadPool; public static ThreadPool getThreadPool(){ if(mThreadPool==null){ synchronized (ThreadManager.class) { if(mThreadPool==null){ int cpuNum = Runtime.getRuntime().availableProcessors(); int count = cpuNum*2+1;//根据CPU的个数决定线程的个数 mThreadPool = new ThreadPool(count,count,0); } } } return mThreadPool; }
0 0
- Android之线程池的使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android研究院之应用开发线程池的经典使用
- Android 线程之Message 的使用
- Android线程池的使用
- Android线程池的使用
- Android 线程池的使用
- Android线程池的使用
- Android 线程池的使用
- Android 线程池的使用
- Android性能优化之使用线程池
- 第一天 也是第一次写博客
- 笔试题目整理
- [NOIP 2004]合唱队形 DP
- 第一篇文章
- linux的aix下的makefile参考
- Android之线程池的使用
- 使用传统Android组件实现高效数据加载
- [NOIP 2001]数的划分 DP
- Windows程序设计--文本输出(二)
- Decision Trees
- C++基础——C++风格的类型转换(static_cast、const_cast、dynamic_cast、reinterpret_cast)
- 有关今后的学习计划
- Hadoop 元模式之作业归并
- iOS NSCondition结合代码以及项目进行详解