За какво са предназначени класовете 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);
});