问题描述: 不断向ExecutorService提交可运行的任务,直到工作完成,获取java.util.concurrent.RejectedExecutionException。
回答: 在Java中,ExecutorService是一个用于管理线程池的接口,它提供了一种方便的方式来执行并发任务。当我们向ExecutorService提交任务时,它会将任务分配给线程池中的线程来执行。然而,在某些情况下,当线程池已经饱和或者无法接受更多任务时,ExecutorService可能会抛出java.util.concurrent.RejectedExecutionException异常。
java.util.concurrent.RejectedExecutionException是一个运行时异常,表示ExecutorService无法接受或执行提交的任务。这通常发生在以下情况下:
为了解决这个问题,我们可以采取以下几种方法:
总结: 当不断向ExecutorService提交可运行的任务,直到工作完成时,如果出现java.util.concurrent.RejectedExecutionException异常,说明ExecutorService无法接受或执行提交的任务。为了解决这个问题,可以捕获异常并处理、使用有界队列、调整线程池参数或者使用其他ExecutorService实现。具体的解决方法应根据实际情况和需求来选择。
领取专属 10元无门槛券
手把手带您无忧上云