Jak zamknąć wszystkich Executorów podczas zamykania aplikacji?

Według współbieżności Java Briana Goetza w praktyceJVM nie może wyjść, dopóki wszystkie wątki (nondaemon) nie zostaną zakończone, więc niepowodzenie zamknięcia Executora może uniemożliwić zamknięcie maszyny JVM.

To znaczy. System.exit (0) niekoniecznie działa zgodnie z oczekiwaniami, jeśli w pobliżu znajdują się Executory. Wydaje się konieczne, aby coś w rodzaju

public void stop() { exec.shutdown() }

metody do wszystkich klas zawierających Executory, a następnie wywołanie ich, gdy aplikacja ma się zakończyć. Czy to jedyny sposób, czy też istnieje jakiś skrót do wyłączenia wszystkich Egzekutorów?

questionAnswers(5)

yourAnswerToTheQuestion