0Pricing
Java Academy · Урок

Исполнители и Futures

Научитесь управлять потоками с помощью Executors и обрабатывать результаты с помощью Futures.

«Исполнители и Futures» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 2. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 2 уроков всего.

Введение

Исполнители упрощают управление потоками выполнения. Будущие результаты позволяют получать результаты задач, выполняющихся асинхронно.

ExecutorService

ExecutorService управляет пулом потоков выполнения, поэтому Вам не нужно каждый раз создавать их вручную.

Код: передача задачи запуска

Этот код передаёт задачу запуска исполнителю ExecutorService с двумя потоками выполнения.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) {
    ExecutorService executor = Executors.newFixedThreadPool(2);
    executor.submit(() -> System.out.println("Task executed"));
    executor.shutdown();
  }
}

Будущие результаты

Будущий результат<T> представляет результат асинхронной задачи. Для ожидания результата можно вызвать get().

Код: вызываемая задача и будущий результат

Этот код передаёт вызываемую задачу, возвращающую целое число. get() блокирует выполнение, пока результат не будет готов.

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<Integer> f = executor.submit(() -> 2 + 3);
    System.out.println("Result: " + f.get());
    executor.shutdown();
  }
}

Время ожидания и завершение

Можно задать get(timeout), чтобы не ждать бесконечно. Всегда вызывайте shutdown() у ExecutorService.

Проверка будущих результатов

Быстрая проверка: что представляет собой будущий результат в Java?

Повторение

Повторение: исполнители управляют потоками выполнения. Будущие результаты представляют результаты задач. Используйте submit() для передачи задач, get() для получения результатов и shutdown() после завершения работы.

Часто задаваемые вопросы

Урок «Исполнители и Futures» бесплатный?

Да — полный текст урока «Исполнители и Futures» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 2 уроков всего.

Чему я научусь в уроке «Исполнители и Futures»?

Научитесь управлять потоками с помощью Executors и обрабатывать результаты с помощью Futures. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 2.

Сколько времени занимает урок «Исполнители и Futures»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Исполнители и Futures
  2. Задачи и жизненные циклы
← Назад к Java Academy