Sobes.tech
Назад к вопросам
Junior — Middle
64

Можешь перечислить основные методы интерфейса ExecutorService и объяснить их назначение?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Интерфейс ExecutorService в Java предоставляет методы для управления асинхронным выполнением задач. Основные методы:

  • submit(Callable<T> task) — отправляет задачу на выполнение и возвращает Future, с помощью которого можно получить результат или отменить задачу.
  • execute(Runnable command) — запускает задачу без возможности получить результат.
  • shutdown() — инициирует упорядоченное завершение, не принимая новые задачи, но выполняя уже отправленные.
  • shutdownNow() — пытается прервать все выполняющиеся задачи и возвращает список задач, ожидающих выполнения.
  • awaitTermination(long timeout, TimeUnit unit) — блокирует текущий поток до завершения всех задач или истечения таймаута.
  • invokeAll(Collection<? extends Callable<T>> tasks) — запускает все задачи и возвращает список Future для их результатов.
  • invokeAny(Collection<? extends Callable<T>> tasks) — запускает задачи и возвращает результат первой успешно завершенной.

Эти методы позволяют гибко управлять пулом потоков и асинхронным выполнением задач.