Back to questions
Junior — Middle
65
Как реализуется завершение работы потока с помощью метода shutdown?
Answer from AI
sobes.tech AI
Метод shutdown() в Java используется для корректного завершения работы пула потоков, например, ExecutorService. При вызове shutdown() пул перестаёт принимать новые задачи, но продолжает выполнять уже принятые. После завершения всех задач поток автоматически завершится.
Пример:
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Задача 1"));
executor.submit(() -> System.out.println("Задача 2"));
executor.shutdown(); // больше задач не принимаются
Если нужно принудительно остановить все задачи, можно использовать shutdownNow(), но это менее безопасно, так как прерывает выполняющиеся задачи.