什么时候使用线程池?
单个任务处理时间比较短
需要处理的任务数量很大
使用线程池的好处?
降低资源消耗。
提高响应速度。
提高线程的可管理性。
1.CachedThreadPool()
可缓存线程池优点:
线程数无限制
有空闲线程则复用空闲线程,若无空闲线程则新建线程
一定程序减少频繁创建/销毁线程,减少系统开销
2.FixedThreadPool()(可控制线程的最大并发数)
定长线程池:
可控制线程最大并发数(同时执行的线程数)
超出的线程会在队列中等待
3.ScheduledThreadPool()(延时执行或周期执行)
定长线程池:
支持定时及周期性任务执行。
4.SingleThreadExecutor()
单线程化的线程池:
有且仅有一个工作线程执行任务
所有任务按照指定顺序执行,即遵循队列的入队出队规则
网友评论