Java 拒绝执行异常。游泳池太小了?

Java 拒绝执行异常。游泳池太小了?,java,multithreading,Java,Multithreading,我正在尝试用java创建几个计划任务 但是,当我添加多个任务时,其中一些任务会崩溃并返回此异常: 线程“main”java.util.concurrent.RejectedExecutionException中的异常:任务java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@219baf0b已从java.util.concurrent中拒绝。ScheduledThreadPoolExecutor@74010c69

我正在尝试用java创建几个计划任务

但是,当我添加多个任务时,其中一些任务会崩溃并返回此异常:

线程“main”java.util.concurrent.RejectedExecutionException中的异常:任务java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@219baf0b已从java.util.concurrent中拒绝。ScheduledThreadPoolExecutor@74010c69[正在关闭,池大小=2,活动线程=0,排队任务=4,已完成任务=0]

这是我正在使用的代码:

final ScheduledExecutorService schExService;

/**
 * Constructor per defecte de TaskSchedulker. Aquí s'inicaran els atributs i 
 * s'instanciaran els objectes necessaris per disposar d'un programador com 
 * el descrit totalement funcional.
 */
public TaskScheduler() {
    schExService = Executors.newScheduledThreadPool( 2 );
}
public void addTask(){
    final Runnable ob = new ExecutaFil(tskParams);
    schExService.schedule(ob, toSeconds( timeToWait ), TimeUnit.SECONDS);
}
我多次触发addTask方法

ExecutaFil只是一个实现
Runnable
的类,其中包含
sleep

有小费吗

我尝试更改池值(例如从2更改为100),但它被忽略。池大小永远不超过4。我想这和处理器有直接关系吧?我怎样才能解决这个问题

已从java.util.concurrent中拒绝。ScheduledThreadPoolExecutor@74010c69[关闭,池大小=2,活动线程=0,排队任务=4,已完成任务=0]

这意味着您通过对执行器调用shutdown()来关闭它。如果要继续添加任务,请不要关闭它

我想这和处理器有直接关系吧

错误消息中没有任何提示

已从java.util.concurrent中拒绝。ScheduledThreadPoolExecutor@74010c69[关闭,池大小=2,活动线程=0,排队任务=4,已完成任务=0]

这意味着您通过对执行器调用shutdown()来关闭它。如果要继续添加任务,请不要关闭它

我想这和处理器有直接关系吧


错误消息中没有任何内容表明这一点。

您能提供一个简短但完整的程序来演示问题吗?您能提供一个简短但完整的程序来演示问题吗?