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

Имели ли вы опыт работы с классом CompletableFuture для асинхронного программирования в Java?

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

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

sobes.tech AI

Да, класс CompletableFuture в Java используется для удобного и эффективного асинхронного программирования. Он позволяет запускать задачи в отдельном потоке и обрабатывать их результат по завершении, поддерживает цепочки вызовов, обработку исключений и комбинирование нескольких асинхронных операций.

Пример использования CompletableFuture:

import java.util.concurrent.CompletableFuture;

public class Example {
    public static void main(String[] args) {
        CompletableFuture.supplyAsync(() -> {
            // Долгая операция
            return "Результат";
        })
        .thenApply(result -> {
            // Обработка результата
            return result.toUpperCase();
        })
        .thenAccept(finalResult -> {
            System.out.println("Финальный результат: " + finalResult);
        });

        // Чтобы программа не завершилась сразу
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

Этот класс широко применяется для построения неблокирующих, масштабируемых приложений.