Причина вызова shutdown () на ExecutorService

Я читал об этом довольно много в последние пару часов, и я просто не вижу никакой причины (действительный причина) позвонитьshutdown() наExecutorServiceЕсли у нас нет огромного приложения, которое хранит, десятки и десятки различных служб исполнителей, которые не используются в течение длительного времени.

Единственное (из того, что я понял), что завершает работу, - это делать то, что делает нормальный поток, как толькосделано. Когда обычный поток завершит выполнение метода Runnable (или Callable), он будет передан в сборщик мусора для сбора. С помощью Executor Service потоки будут просто приостановлены, они не будут отмечены для сборки мусора. Для этого необходимо отключение.

Хорошо, вернемся к моему вопросу. Есть ли причина вызывать выключениеExecutorService очень часто или даже сразу после подачи ему каких-то заданий? Я хотел бы оставить позади случай, когда кто-то делает это, и сразу после этого призываетawaitTermination() как это подтверждается. Как только мы это сделаем, мы должны воссоздать новыйExecutorService снова, чтобы сделать то же самое. Isn»вся идея дляExecutorService повторно использовать темы? Так зачем уничтожатьExecutorService так рано?

Isn»это разумный способ просто создатьExecutorService (или пара в зависимости от того, сколько вам нужно), затем во время выполнения приложения передайте им задачи, как только они появятся, а затем при выходе из приложения или на некоторых других важных этапах отключите этих исполнителей?

Мне бы хотелось получить ответ от некоторых опытных программистов, которые пишут много асинхронного кода с использованием ExecutorServices.

Второй вопрос, немного меньше сделок с платформой Android. Если некоторые из вас скажут, что этоНе лучшая идея каждый раз выключать исполнителей, и вы программируете на Android, не могли бы вы рассказать мне, как вы справляетесь с этими выключениями (а точнее - когда вы их выполняете), когда мы имеем дело с различными событиями жизненного цикла приложения.

Из-за комментария CommonsWare я сделал пост нейтральным. Мне действительно не интересно спорить об этом до смерти, и кажется, чтоведущий туда. Я'Меня интересует только то, что я спросил у опытных разработчиков, если они хотят поделиться своим опытом. Спасибо."

Ответы на вопрос(4)

Ваш ответ на вопрос