La classe
CompletableFuture implémente l'interface Future CompletableFuture peut être utilisé comme un futur explicitement complété. L'interface Future ne fournit pas beaucoup de fonctions. Nous devons utiliser la méthode get() pour obtenir les résultats du calcul asynchrone. Cette méthode sera bloquée, il n'y a donc aucun moyen d'exécuter plusieurs tâches dépendantes dans un non. -blocking, et La classe CompletableFuture peut fournir la fonction d'exécuter plusieurs tâches dépendantes dans une chaîne. Ces tâches s'exécutent de manière asynchrone, nous pouvons donc créer une chaîne de tâches qui déclenche la tâche suivante lorsque les résultats de. la tâche en cours sont disponibles. Grammaire
1 | <strong> public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T></strong>
|
Copier après la connexion
Exemple
traduit en chinois par :
Exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.util. function .Supplier;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class CompletableFutureTest {
public static void main(String args[]) throws ExecutionException, InterruptedException {
Calculator calc = new Calculator(4, 7);
<strong>CompletableFuture<Integer></strong> future = CompletableFuture.<strong>supplyAsync</strong>(calc);
future.<strong>thenAccept</strong>(result -> {
System.out.println(result);
});
System.out.println( "CompletableFutureTest End.... " );
Thread.sleep(10000);
}
}
<strong>
class Calculator implements <strong>Supplier<Integer></strong> {
private int x, y;
public Calculator(int x, int y) {
this.x = x;
this.y = y;
}
<strong>@Override</strong>
public Integer get() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return x + y;
}
}
|
Copier après la connexion
Sortie
1 2 | <strong>CompletableFutureTest End ....
11</strong>
|
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!