标签: java multithreading exception-handling threadpool
我有一个FixedThreadPool,它有1个用于执行线程的插槽。是否有可能,如果一个线程占用了插槽并抛出一个非捕获异常,这个插槽将永远使用,并且线程执行器无法执行任何新线程?
答案 0 :(得分:2)
不,那是不可能的。来自ExecutorService.newFixedThreadPool(int nThreads)的文档:
ExecutorService.newFixedThreadPool(int nThreads)
如果任何线程因关闭前执行期间的故障而终止,则在需要执行后续任务时,新的线程将取代它。