android四种线程池

CachedThreadPool  可缓存的线程池,如果线程池有空闲线程则复用空闲线程,如没有空闲线程则创建线程;线程数没有限制;线程执行超时则销毁 ;参数部分看源码也很简单

FixedThreadPool  有线程数量限制,如果线程数小于最大线程数,则无论有没有空闲线程都会创建新线程,如果当前线程数已经到了限制,则复用空闲线程。

ScheduledThreadPool 调度线程,有最大线程数限制,也可缓存,可实现周期和延迟执行。

SingleThreadPool  单一线程

PS:上面的FixedThreadPool和ScheduledThreadPool是有核心线程数量设置的,也有最大线程数设置,当执行任务数量大于LinkedBlockingQueue容量的时候,才会去创建新的线程去执行任务。假如10个任务,LinkedBlockingQueue容量为3,核心线程数为2,那么2个任务分配给核心线程,3个任务排在队列,另外5个任务新起线程。

猜你喜欢

转载自blog.csdn.net/liangtianmeng/article/details/81352270
今日推荐