Я работаю над системой моделирования, где на каждом временном шаге мне приходится моделировать множество моделей. Я использовал FixedThreadPool для ускорения вычислений:
ExecutorService executor = Executors.newFixedThreadPool(nThread);
for (Model m : models) {
executor.execute( m.simulationTask() );
}
executor.shutdown();
while ( ! executor.awaitTermination(10, TimeUnit.MINUTES) ) {
System.out.println("wait");
}
Теперь исполнитель не может использоваться для execute ()
новых задач после вызова shutdown ()
. Есть ли способ сбросить исполнитель, чтобы я мог повторно использовать существующий исполнитель (и его потоки) на следующем этапе моделирования?