Secondo Concurrency in Practice di Brian Goetz JVM non può essere terminato fino a quando tutti i thread (nondaemon) non sono terminati, quindi non riuscire a arrestare un Executor potrebbe impedire l'uscita dalla JVM.Come spegnere tutti gli Executor quando si esce da un'applicazione?
I.e. System.exit (0) non funziona necessariamente come previsto se ci sono Executor in giro. Sembrerebbe necessario mettere un qualche tipo di
public void stop() { exec.shutdown() }
metodi per tutte le classi che contengono Esecutori, e poi li chiamo quando l'applicazione è in procinto di terminare. È questo l'unico modo, o c'è una sorta di scorciatoia per chiudere tutti gli Executor?
Stavo confondendo Executor con Runnable. Ho cancellato la mia risposta in quanto non ha molto senso. @ Skaffman ha il mio voto. –