【发布时间】:2014-08-07 07:42:14
【问题描述】:
我有一个 FixedThreadPool,它有 1 个用于线程执行的插槽。是否有可能,如果一个线程正在占用该槽并抛出一个未捕获的异常,该槽将永远使用,并且线程执行器无法执行任何新线程?
【问题讨论】:
标签: java multithreading exception-handling threadpool
我有一个 FixedThreadPool,它有 1 个用于线程执行的插槽。是否有可能,如果一个线程正在占用该槽并抛出一个未捕获的异常,该槽将永远使用,并且线程执行器无法执行任何新线程?
【问题讨论】:
标签: java multithreading exception-handling threadpool
不,这是不可能的。来自ExecutorService.newFixedThreadPool(int nThreads)的文档:
如果任何线程在关闭前的执行过程中因失败而终止,如果需要执行后续任务,新的线程将取代它。
【讨论】: