Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Что возвращает метод submit()?

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

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

Метод submit() возвращает объект Future. Через него можно проверить состояние задачи, дождаться результата или получить исключение. Даже если задача ничего не возвращает, Future все равно используется для контроля выполнения. Это основной способ взаимодействия с асинхронной задачей.

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

Метод submit() применяется при работе с ExecutorService и предназначен для асинхронного запуска задач.

Что такое submit()

Определение:
submit() — метод ExecutorService, который запускает задачу на выполнение и возвращает объект для управления этой задачей.

Возвращаемое значение

Тип возвращаемого значения зависит от типа задачи:

  1. Callable

    • возвращает Future<T>

    • T — результат выполнения задачи

  2. Runnable

    • возвращает Future<?>

    • результатом будет null

Future<Integer> future = executor.submit(() -> 42);
Integer result = future.get();

Зачем нужен Future

Future позволяет:

  • проверить, завершилась ли задача через isDone()

  • дождаться результата через get()

  • отменить выполнение через cancel()

Важно помнить, что get() блокирует поток до завершения задачи.

Частые ошибки

  • ожидание, что submit() сразу вернет результат

  • игнорирование возможных исключений из Future.get()

  • использование submit() без контроля завершения пула

Краткий вывод

submit() возвращает Future, который позволяет управлять асинхронной задачей и получать ее результат или состояние выполнения.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Java

    Java

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

#future

#submit

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