У меня есть задание, переданное Executors.newCachedThreadPool () , которое выполняется бесконечно и прослушивает некоторые события. Теперь, прежде чем приложение остановится, я хочу, чтобы ExecutorService был выключен. Как я могу этого достичь? Метод shutDown гарантирует, что новые задачи не принимаются, а метод shutDownNow не гарантирует, что все запущенные задачи будут закрыты.