常用的线程池有哪些?

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

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

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

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

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

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

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

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

相关文章
|
9月前
|
缓存 Java 应用服务中间件
线程池的10个坑你都遇到过吗
日常开发中,为了更好管理线程资源,减少创建线程和销毁线程的资源损耗,我们会使用线程池来执行一些异步任务。但是线程池使用不当,就可能会引发生产事故。大家看完肯定会有帮助的~
141 0
|
8月前
|
Java
线程池总结
线程池总结
39 0
|
5月前
|
Java
6. 实现简单的线程池
6. 实现简单的线程池
25 0
|
9月前
|
缓存 Java 调度
线程池的介绍
线程池的介绍
|
9月前
|
存储 缓存 Java
理解与实现线程池
理解与实现线程池
108 0
|
Java 调度
线程池 的一些事
线程池 的一些事
99 0
线程池 的一些事
|
缓存 NoSQL Java
【线程池】
【线程池】
117 0
|
消息中间件 监控 搜索推荐
线程池:我是谁?我在哪儿?
大家好,这篇文章跟大家探讨下日常使用线程池的各种姿势,重点介绍怎么在 Spring 环境中正确使用线程池。
246 1
线程池:我是谁?我在哪儿?
|
监控 Java
关于线程池,你需要了解这些
1、 降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。 2、 提高响应速度;任务来了,直接有线程可用可执行,而不是先创建线程,再执行。 3、 提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。
110 0
|
Java 程序员
我是一个线程池
我是一个线程池