Встречается на собеседованиях • сегодня

Куда передавал задачу при окончании работы с ней

В Java задача передаётся в пул завершённых задач (ExecutorService) через метод shutdown() или shutdownNow().

  • shutdown(): плавное завершение — выполняет все текущие задачи, но не принимает новые.
  • shutdownNow(): принудительное завершение — пытается остановить выполняемые задачи и возвращает список невыполненных.

После вызова одного из этих методов нужно дождаться завершения через awaitTermination():

java
ExecutorService executor = Executors.newFixedThreadPool(4);
// ... выполняем задачи
executor.shutdown();
try {
    if (!executor.awaitTermination(60, TimeUnit.SECONDS)) {
        executor.shutdownNow();
    }
} catch (InterruptedException e) {
    executor.shutdownNow();
    Thread.currentThread().interrupt();
}

Также можно использовать try-with-resources с ExecutorService, если он реализует AutoCloseable (Java 19+).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы