Sobes.tech
Middle

À quoi servent les classes Future et CompletableFuture en Java?

sobes.tech IA

Réponse de l'IA

Les classes Future et CompletableFuture en Java sont conçues pour travailler avec les résultats de calculs asynchrones.

  • Future représente un résultat qui sera disponible à l'avenir. Avec Future, vous pouvez vérifier si le calcul est terminé, obtenir le résultat (la méthode get bloque le thread si le résultat n'est pas encore prêt) ou annuler la tâche.

  • CompletableFuture étend les capacités de Future, en fournissant une API pratique pour composer des opérations asynchrones, traiter les résultats sans blocage, chaîner des appels et gérer les exceptions. Il supporte des méthodes fonctionnelles telles que thenApply, thenAccept, thenCompose, etc., ce qui facilite la construction de scénarios asynchrones complexes.

Exemple d'utilisation de CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Opération longue
    return "Résultat";
}).thenApply(result -> {
    // Traitement du résultat
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});