> Java > java지도 시간 > Java 9에서 CompletableFuture와 Future의 차이점은 무엇입니까?

Java 9에서 CompletableFuture와 Future의 차이점은 무엇입니까?

WBOY
풀어 주다: 2023-08-18 16:17:12
앞으로
1017명이 탐색했습니다.

CompletableFuture 클래스는 Java에서 Future 인터페이스를 구현합니다. CompletableFuture 는 명시적으로 완료된 Future로 사용할 수 있습니다. Future 인터페이스는 많은 기능을 제공하지 않습니다. 비동기 계산 결과를 얻으려면 get() 메서드를 사용해야 하므로 이 메서드는 차단되므로 non에서 여러 종속 작업을 실행할 수 없습니다. -blocking 방식 및 CompletableFuture 클래스는 체인에서 여러 종속 작업을 실행하는 기능을 제공할 수 있습니다. 이러한 작업은 비동기 방식으로 실행되므로 결과가 나올 때 다음 작업을 트리거하는 작업 체인을 만들 수 있습니다. 현재 작업을 사용할 수 있습니다.

Grammar

<strong>public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T></strong>
로그인 후 복사

Example

을 중국어로 번역하면 다음과 같습니다.

Example

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;
   }
}
로그인 후 복사

Output

<strong>CompletableFutureTest End....
11</strong>
로그인 후 복사

위 내용은 Java 9에서 CompletableFuture와 Future의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿