Heim > Java > javaLernprogramm > Was ist der Unterschied zwischen CompletableFuture und Future in Java 9?

Was ist der Unterschied zwischen CompletableFuture und Future in Java 9?

WBOY
Freigeben: 2023-08-18 16:17:12
nach vorne
1012 Leute haben es durchsucht

Die

CompletableFuture implementiert die Future CompletableFuture kann als Future verwendet werden, der explizit abgeschlossen wurde. Die Future-Schnittstelle bietet nicht viele Funktionen. Wir müssen die Methode get() verwenden, um die Ergebnisse der asynchronen Berechnung zu erhalten. Daher gibt es keine Möglichkeit, mehrere abhängige Aufgaben in einem non auszuführen -blockierende Weise und Die CompletableFuture -Klasse kann die Funktion bereitstellen, mehrere abhängige Aufgaben in einer Kette auszuführen. Diese Aufgaben werden „asynchron“ ausgeführt, sodass wir eine Aufgabenkette erstellen können, die die nächste Aufgabe auslöst, wenn die Ergebnisse vorliegen Die aktuelle Aufgabe ist verfügbar. Grammatik

<strong>public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T></strong>
Nach dem Login kopieren
Beispiel übersetzt ins Chinesische als: Beispiel

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>// Calculator class</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;
   }
}
Nach dem Login kopieren

Ausgabe

<strong>CompletableFutureTest End....
11</strong>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen CompletableFuture und Future in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage