第11章 android的线程和线程池
来源:互联网 发布:php什么是搭建环境 编辑:程序博客网 时间:2024/06/05 18:29
- android常见线程有thread,AsyncTask和Intentservice以及hangdlerthread。
- AsyncTask抽象泛型类四个核心方法1)onPreExecute()前期准备工作2)doInBackGround(Prama….params)异步任务,通过publishprogress来更新进度,它会调用onPregerssUdate3)onProgressUpdate()主线程执行4)onPostExecute(Result result),result是doInbackgroun的返回值。
- 需要注意的是AsyncTask必须在主线程创建,excute方法必须在ui线程调用,不要在程序中直接调用四个核心方法。AsyncTask只能执行一次。
- handlerthread继承了thread实际上是用handler的thread。其中的run方法是无限循环。应该不需要的时候quit。
- intentserice是特殊的service,当任务执行完自动停止,本质上使用handler和handler’thread。
- 线程池重用线程,便于线程创建和销毁带来的性能开销。控制线程池的最大并发数,避免线程互相抢占系统资源。
- ThreadPoolExecute(int coolPoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue workQueue,ThreadFactory threadFactory)1.coolPoolSize核心线程数,在设置allowThreadTimeout属性时,闲置线程会有超时策略,时间间隔由keepalivetime控制。2.maximumPoolSize最大线程数。3.keepAliveTime超时时长。4.unit时间单位 5.workQueue任务队列,线程的excute方法提交的runnable会存在这个参数中。6.threadFactory线程工厂。
- 四类线程池通过间接配置ThreadPoolExecutor。其中FixedThreadPool线程不会回收,除非主动关闭。
- CachedThreadPool(..60….)空闲线程有60秒限制,适合做大量耗时比较少的任务。
- ScheduledThreadPool(….DelayedWrokQueue.。)适合做定时任务和固定周期的任务.
- SingleThreadExecutor保证有一个线程不用处理线程同步的问题。
阅读全文
0 0
- 第11章 Android的线程和线程池
- 第11章 Android的线程和线程池
- 第11章 android的线程和线程池
- 读书笔记-Android开发艺术探索-第11章-Android的线程和线程池
- 【读书笔记】【Android 开发艺术探索】第11章Android 的线程和线程池
- Android开发艺术探索读书笔记(第11章 Android的线程和线程池)
- Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池
- 十一、Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池(一)
- Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池
- Android的线程和线程池
- Java基础
- Gym 101572E Emptying Baltic【优先队列+BFS】
- 【自己的整理】node.js创建静态路由以及Router创建路由
- 利用LAMP免费搭建WordPress博客
- [杂题 贪心] BZOJ4723: [POI2017]Flappy Bird
- 第11章 android的线程和线程池
- Tomcat通过查件启动失败 报错Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardC
- 网页布局基础
- Java 8 新特性(转载)
- CentOS离线安装FastDFS以及迁移问题
- Java开发的学习历程及其过程中要学习的知识点
- 一只爬虫带你看世界【11】
- 关于排序的泛型表达
- 爬楼梯-LintCode