常用的线程池有哪些?

简介: 常用的线程池有哪些?

1.newSingleThreadExecutor:创建一个唯一的工作者线程来执行任务,保证所有任务按照指定顺序(FIFO、LIFO、优先级)执行。如果这个线程异常结束的话,会有另一个取代它,保证顺序执行。单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的。

2.newFixedThreadPool:创建一个可重用指定线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。FixedThreadPool 可以提高程序效率和节省创建线程时所消耗的开销。但是,在线程池中没有可运行任务时,它不会释放工作线程,还会占用一定的系统资源。

3.newCachedThreadPool:这是一个处理大量短时间工作任务的线程池,工作线程的创建数量没有限制,可以根据需求灵活的往线程池中添加线程。它的几个特点:

(1)它会试图缓存线程并且重用,当没有缓存线程可用的时候,会创建新的工作线程

(2)如果线程闲置的时间超过阈值(默认 1 分钟),则会被终止并移出缓存。

(3)综上两点,所以在系统长时间闲置的时候,不会消耗什么资源。

4.newScheduleThreadPool:创建一个定长的线程池,而且支持定时的以及周期性的任务执行,支持定时及周期性任务执行,延迟 3 秒执行等。

相关文章
|
2月前
|
消息中间件 Kubernetes Java
记两个有关线程池的小问题
最近小伙伴们找我查的问题里,有两个与线程池相关的,最终都是花了一些时间才揪出原因所在,做一下记录。
43 1
|
6月前
|
Java
线程池的实现
线程池的实现
37 0
|
缓存 Java
线程池简单总结
线程池简单总结
|
7月前
|
缓存 算法 Java
|
7月前
|
缓存 Java API
厉害了,线程池就该这么玩
厉害了,线程池就该这么玩
65 0
|
7月前
|
Java C++
c++简单线程池实现
c++简单线程池实现
|
前端开发 Java 调度
线程池的使用
线程池的使用
|
消息中间件 监控 搜索推荐
线程池:我是谁?我在哪儿?
大家好,这篇文章跟大家探讨下日常使用线程池的各种姿势,重点介绍怎么在 Spring 环境中正确使用线程池。
313 1
线程池:我是谁?我在哪儿?
|
Java 程序员
我是一个线程池
我是一个线程池
|
监控 数据可视化 Java
如何优雅的使用和理解线程池(下)
平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的《阿里巴巴 Java 手册》里也有一条

热门文章

最新文章