Sobes.tech
Middle

За какво са предназначени класовете Future и CompletableFuture в Java?

sobes.tech AI

Отговор от AI

Класовете Future и CompletableFuture в Java са предназначени за работа с резултати от асинхронни изчисления.

  • Future представлява резултат, който ще бъде наличен в бъдеще. С помощта на Future можете да проверите дали изчислението е завършило, да получите резултата (методът get блокира нишката, ако резултатът все още не е готов) или да отмените задачата.

  • CompletableFuture разширява възможностите на Future, предоставяйки удобен API за съставяне на асинхронни операции, обработка на резултати без блокиране, вериги от извиквания и обработка на изключения. Той поддържа функционални методи като thenApply, thenAccept, thenCompose и други, което улеснява създаването на сложни асинхронни сценарии.

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

CompletableFuture.supplyAsync(() -> {
    // Дълга операция
    return "Резултат";
}).thenApply(result -> {
    // Обработка на резултата
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});