Android
中的线程池都是直接或间接通过配置
ThreadPoolExecutor
来实现不同特性的线程池
.Android
中 最常见的类具有不同特性的线程池分别为
FixThreadPool
、
CachedhreadPool
、
SingleThreadPool
、
ScheduleThreadExecutr.
1).FixThreadPool只有核心线程 , 并且数量固定的 , 也不会被回收 , 所有线程都活动时 , 因为队列没有限制大小 , 新任务会等待执行.优点 : 更快的响应外界请求 .
2).SingleThreadPool只有一个核心线程 , 确保所有的任务都在同一线程中按序完成 . 因此不需要处理线程同步的问题 .
3).CachedThreadPool只有非核心线程 , 最大线程数非常大 , 所有线程都活动时会为新任务创建新线程 , 否则会利用空闲线程 (60s空闲时间, 过了就会被回收 , 所以线程池中有 0 个线程的可能 ) 处理任务 .优点 : 任何任务都会被立即执行 ( 任务队列 SynchronousQuue 相当于一个空集合 ); 比较适合执行大量的耗 时较少的任务.
4).ScheduledThreadPool核心线程数固定 , 非核心线程(闲着没活干会被立即回收数)没有限制 .优点 : 执行定时任务以及有固定周期的重复任务
————————————————
版权声明:本文为CSDN博主 CongPong 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CongPong/article/details/125891899