多线程

线程的状态以及转换

image

线程池

image

常用的线程池

  • newCachedThreadPool:核心线程数为0,非核心线程超时时间60s.适用于任务较多并且耗时较短的任务
  • newFixedThreadPool:核心线程数与最大线程数一致,所以只会创建核心线程。适合对个长时间的任务,占用资源大,线程池不会回收
  • newSingleThreadExecutor:与newFixedThreadPool一致,只不过核心线程数为1。适用于先进先出的任务队列。
  • newScheduledThreadPool:创建一个定长的线程池,支持定时以及周期性任务执行

AsyncTask的原理

image

AsyncTask底层就是2个线程池+Handle,默认的阻塞队列为LinkedBolckingQueue

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容