Sobes.tech
Junior — Middle

Come viene implementata la terminazione di un thread tramite il metodo shutdown?

sobes.tech AI

Risposta dell'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(), но это менее безопасно, так как прерывает выполняющиеся задачи.