AsyncTask中关于线程的问题
来源:互联网 发布:js选择排序 编辑:程序博客网 时间:2024/05/17 02:32
AsyncTask主要有两个部分:一个是与主线程的交互,异步获取数据,通知主线程更新ui。另外一个是负责线程的管理调度。
1.线程任务的调度,、:在项目内部会创建一个进程作用域的线程池来管理要运行的任务,当你调用asynctask。execute后,asynctask会把任务交给线程池。由线程池来管理创建Thread和运行Thread。
2、在android 2.3以前,内部线程池限制是5个,如果同一进程中,最多同时运行的AsyncTask只有5个,并且这种限制,在2.3版本以前是无法解决的。如果项目中需要大量使用后台线程去执行任务,那么只能自己去创建thread。
3、到了3.0以后,execute提交任务,按先后顺序,每次只运行一个,也就按先后顺序,每次只启动一个线程执行一个任务,完成之后才执行第二个任务。但是可以通过executeOnExecutor方法。来自定义线程池数量的大小。
关于线程使用的几点建议:
1、如果你的应用没有与主线程交互,那么直接使用thread就好了。
2、对于一般性的数据库查询,少量的io操作都没有必要开启线程
3、由于创建线程的开销是非常大的,所以当有大量线程执行任务时,一定要创建线程池,无论是还设有Asynctask还是thread
4、对于想要立即开始执行的异步任务,要么直接使用thread,要么单独创建线程池提供给AsyncTask,默认的AsyncTask不一定会立即执行你的任务。
- AsyncTask中关于线程的问题
- 关于AsyncTask线程数的问题
- 关于AsyncTask的缺陷问题
- 关于异步线程AsyncTask
- 解决AsyncTask的线程池限制问题
- 线程间通信的问题:使用AsyncTask:
- AsyncTask中线程转换的实现
- Asynctask线程阻塞问题
- 关于SWT中线程的问题
- 关于Java中线程同步的问题
- 关于Java中线程的基本问题
- 关于Asynctask的取消、停止问题。
- 关于android AsyncTask的相关问题总结
- 关于AsyncTask的缺陷和问题
- android中关于AsyncTask的学习
- 关于 AsyncTask cancel问题
- 关于android替代线程的异步加载类AsyncTask
- 关于Android 3.0以后AsyncTask默认单一线程的分析
- 散列表(哈希hash)初步
- 使用 Java 配置进行 Spring bean 管理
- 心理学的166个现象---之五
- 剑指offer:5-从尾到头打印链表
- 心理学的166个现象---之六
- AsyncTask中关于线程的问题
- Linux多线程编程
- Spring 框架的设计理念与设计模式分析
- 常用的开源库
- 心理学的166个现象---之七
- thttpd web服务器 html上的图片无法显示
- 心理学的166个现象---之八
- Java中设置classpath、path、JAVA_HOME的作用
- 心理学的166个现象---之九