Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: executor service, submit

Какие способы запуска задач через ExecutorService существуют?

Вопрос проверяет знание API ExecutorService и понимание различных моделей выполнения задач.

Короткий ответ

ExecutorService позволяет запускать задачи через execute, submit и методы пакетного выполнения. execute не возвращает результат. submit возвращает Future. Также есть методы для запуска нескольких задач одновременно. Выбор способа зависит от необходимости результата и обработки ошибок.

Длинный ответ

ExecutorService предоставляет несколько способов отправки задач на выполнение.

execute

Метод execute:

  • принимает Runnable

  • не возвращает результат

  • исключения не передаются вызывающему коду

Пример:

executor.execute(() -> doWork());

Используется, когда:

  • результат не нужен

  • важна простота

submit

Метод submit:

  • принимает Runnable или Callable

  • возвращает Future

  • позволяет получить результат или исключение

Пример:

Future<Integer> f = executor.submit(() -> calculate());

invokeAll

Метод invokeAll:

  • принимает коллекцию Callable

  • ждет завершения всех задач

  • возвращает список Future

Подходит для:

  • пакетной обработки

  • ожидания всех результатов

invokeAny

Метод invokeAny:

  • возвращает результат первой завершившейся задачи

  • остальные задачи могут быть отменены

Используется, когда:

  • достаточно одного успешного результата

Практический выбор

  • fire-and-forget → execute

  • нужен результат → submit

  • batch-выполнение → invokeAll

Вывод: ExecutorService предоставляет гибкие способы запуска задач под разные сценарии выполнения.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Java

    Java

Ключевые слова

#executor service

#submit

Подпишись на Java Developer в телеграм