Android 多线程

线程是一个非常重要的概念,要了解线程的原理和特性,在开发时才能更好地进行使用,首先,我们要了解什么是线程:操作系统调度的最小单元,通过时间片轮转的方式调度线程。
AsyncTask:线程池+Handler
共有4个方法:

  1. onPreExecute
  2. doInBackground
  3. onProgressUpdate
  4. onPostExecute
    在设计模式中,此种模式为模板方法,AsyncTask本身是一个abstract

使用限制:
1.必须在主线程中创建。
2.execute方法必须在UI线程调用。
3.同一时间内,execute只能执行一次。
4.1.6之前串行,1.6以后并行,3.0串行,3.0后可使用executeOnExecutor来并行。

HandlerThread:线程+Handler
是什么:一个Thread,在run( )方法里开启一个无限的消息循环。
IntentService:HandlerThread(短时后台任务,后台执行完自动退出)

ThreadPoolExecutor分类:

* FixedThreadPool:固定数量的线程,只有核心线程(不会被系统回收)。
* CachedThreadPool:线程数不定的线程池,只有非核心线程,最大线程数为  Integer.MAX_VALUE。 
 【注】:适合执行大量的耗时较少的程序。
* ScheduledThreadPool:核心线程数量固定,非核心线程数量无限制,非核心线程会被立即收回。
* SingleThreadExecutor:只有一个核心线程。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容