Android 线程池

线程池的优点

①重用线程池中的线程,避免因为线程的创建和销毁所带来的性能开销;

②能有效控制线程池的最大并发数,避免大量的线程之间因互相抢占系统资源而导致的堵塞的现象;

③能够有效对线程进行简单的管理,并提供定时执行以及指定间隔循环执行等功能;

线程池的流程

线程池分为四个

①FixedThreadPool

线程数量固定的线程池,当线程处于空闲状态时,它们并不会被回收,除非线程池被关闭了。从参数我们可以看出,FixedThreadPool只有核心线程并且核心线程没有超时机制,另外任务队列大小也是没有限制的。由于只有核心线程且不会被回收,所以可以很快响应外界的请求。

②CachedThreadPool

CachedThreadPool只有非核心线程,最大线程数非常大,所有线程都活动时,会为新任务创建新线程,否则利用空闲线程(60s空闲时间,过了就会被回收,所以线程池中有0个线程的可能)处理任务。任务队列SynchronousQueue相当于一个空集合,导致任何任务都会被立即执行。适合执行大量耗时较少的任务。

③ScheduleThreadPool

ScheduleThreadPool核心线程数固定,非核心线程数没有限制,当非核心线程闲置时会立即被回收

ScheduleThreadPool这类线程主要用于执行定时任务和具有固定周期的重复任务。

④SingleThreadExecutor 

 SingleThreadExecutor只有一个核心线程,确保所有任务都在同一线程中按顺序完成。因此不需要处理线程同步的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值