从Java中的线程池中删除空闲线程?

机械

我正在使用固定大小(ExecutorService)的Java线程池。假设我向线程池提交了一个作业,并且该作业处于空闲状态。

是否有可能从线程池中删除空闲的作业,以便可以处理队列中的其他作业,然后稍后再次添加空闲的作业?

拉文德拉·巴布(Ravindra babu)

如果您从ExecutorService转到ThreadPoolExecutor,则可以使用以下API来实现

public void setCorePoolSize(int corePoolSize)

设置核心线程数。这将覆盖在构造函数中设置的任何值。如果新值小于当前值,则多余的现有线程将在下次空闲时终止。

如果更大,将在需要时启动新线程以执行任何排队的任务。

如果您想在运行时调整池的大小,

((ThreadPoolExecutor)service).setCorePoolSize(newLimit); // newLimit是池的新大小

其他API:

public void setMaximumPoolSize(int maximumPoolSize)

设置允许的最大线程数。这将覆盖在构造函数中设置的任何值。如果新值小于当前值,则多余的现有线程将在下次空闲时终止。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

永远不会删除缓存线程池中的线程

来自分类Dev

如何从python中的线程池中唤醒线程?

来自分类Dev

如何从python中的线程池中唤醒线程?

来自分类Dev

线程池中的 Guice DAO Provider - 查询变为“空闲处理”

来自分类Dev

Java线程池:空闲线程会怎样?

来自分类Dev

Java线程池:空闲线程会怎样?

来自分类Dev

是否在ExecutionContext和/或Java线程池中替换了死线程?

来自分类Dev

线程池中的可用线程数

来自分类Dev

pthread从线程池中的线程退出

来自分类Dev

使用线程池时,如何在Java中使线程空闲?

来自分类Dev

从内存中删除Java中的线程时?

来自分类Dev

如何在Java中删除线程

来自分类Dev

Java-从内存中删除线程

来自分类Dev

Java多线程-启动大量线程并使它们保持空闲状态,而不是懒加载新线程?

来自分类Dev

Java不同池中线程之间的通信

来自分类Dev

线程池中的并行递归任务

来自分类Dev

Quasar光纤中的阻塞IO是否会阻塞其线程池中的线程?

来自分类Dev

确定在C#中的线程池中等待的线程数

来自分类Dev

线程池中的多个线程在同一列表中写入数据

来自分类Dev

如何在zipkin的线程池中使用的线程中传递traceid,spanid?

来自分类Dev

线程什么时候空闲?

来自分类Dev

删除后台线程中的文件

来自分类Dev

Java中的线程结构

来自分类Dev

Java中的线程中断

来自分类Dev

Java中的进程与线程

来自分类Dev

我在Java中的线程

来自分类Dev

暂停Java中的线程

来自分类Dev

线程中的Java请求

来自分类Dev

我在Java中的线程