Middle
Do czego służą klasy Future i CompletableFuture w Java?
sobes.tech AI
Odpowiedź od AI
Klasy Future i CompletableFuture w Javie są przeznaczone do pracy z wynikami obliczeń asynchronicznych.
-
Future reprezentuje wynik, który będzie dostępny w przyszłości. Za pomocą Future można sprawdzić, czy obliczenie zostało zakończone, uzyskać wynik (metoda get blokuje wątek, jeśli wynik jeszcze nie jest gotowy) lub anulować zadanie.
-
CompletableFuture rozszerza możliwości Future, zapewniając wygodne API do komponowania operacji asynchronicznych, obsługi wyników bez blokowania, łańcuchowania wywołań i obsługi wyjątków. Obsługuje metody funkcyjne takie jak thenApply, thenAccept, thenCompose i inne, co ułatwia tworzenie złożonych scenariuszy asynchronicznych.
Przykład użycia CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Długa operacja
return "Wynik";
}).thenApply(result -> {
// Przetwarzanie wyniku
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});