TGViewer
Java задачи с собеседований Java задачи с собеседований @javaquiz · 5.72K subscribers
Post #2372 1.37K
❓ Вопрос на собеседовании

Как работает CompletableFuture в Java, чем он отличается от Future, и как использовать метод thenCombine() для выполнения параллельных задач?

Ответ ⬇️
CompletableFuture — это расширение Future, позволяющее выполнять асинхронные задачи и комбинировать их без необходимости вручную управлять потоками. В отличие от Future, он предоставляет богатый API для обработки результатов, включая цепочку методов и возможность комбинирования нескольких задач. Метод thenCombine() используется для объединения результатов двух асинхронных задач, выполняемых параллельно, в одну итоговую операцию.

Пример использования ⚙️
import java.util.concurrent.CompletableFuture;

public class Main {
public static void main(String[] args) {
// Первая асинхронная задача
CompletableFuture task1 = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(1000); // Эмуляция задержки
} catch (InterruptedException e) {
e.printStackTrace();
}
return 10;
});

// Вторая асинхронная задача
CompletableFuture task2 = CompletableFuture.supplyAsync(() -> 20);

// Комбинируем результаты двух задач
CompletableFuture combined = task1.thenCombine(task2, Integer::sum);

// Получаем и выводим результат
combined.thenAccept(result -> System.out.println("Сумма: " + result));

// Ждем завершения всех задач (только для примера)
combined.join();
}
}

// Результат выполнения:
// Сумма: 30

👩‍💻

@javaquiz
  • 👍 4
More from @javaquiz
  1. Sep 28, 2026Post #2700
  2. Sep 14, 2026❓ Вопрос на собеседовании Что такое ForkJoinPool в Java, как он работает, и как его исполь…
  3. Sep 4, 2026⚙️ List.subList() В Java метод subList() позволяет создать представление части списка. Это…
  4. Aug 17, 2026➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений Quarkus — оптимизированный фре…
  5. Jul 23, 2026⚙️ Files.mismatch() Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два…
  6. Jul 11, 2026❓ Вопрос на собеседовании Что такое ConcurrentHashMap в Java, как он работает и чем отлича…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →