vic*_*aba 2 java multithreading scala threadpool executioncontext
当一个线程因异常而死亡时,该线程会发生什么?如果它在线程池中,它是否会产生一个新线程?我对scala ExecutionContext中发生的事情感兴趣,但由于ExecutionContext包装了一个java线程池,我认为Java用户也会知道答案.
例如,如果我创建一个包装FixedThreadPool(100)的ExecutionContext,如果一个线程死掉,那么线程池是否会替换该线程?
线程本身在死后不能生成新线程,但是线程池可以替换它.例如,通过Executors.newFixedThreadPool()在需要时替换死线程创建的线程池.从以下文档Executors.newFixedThreadPool():
"如果任何线程因关闭前执行期间的故障而终止,那么如果需要执行后续任务,新的线程将取代它."