Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9의 CompletableFuture API 개선 사항은 무엇입니까?


CompletableFuture API는 비동기 에 사용됩니다. 프로그래밍 자바에서. 이는 비차단을 작성할 수 있음을 의미합니다. 코드 main() 이 아닌 별도의 스레드에서 작업 실행 스레드를 만들고 main()에 알립니다. 진행, 완료 또는 실패에 대한 스레드. Java 9에서는 CompletableFuture 에 몇 가지 개선 사항이 도입되었습니다. API, "시간 초과 및 지연 지원", "하위 분류 지원 개선" 및 "새로운 팩토리 메소드 추가"입니다.

시간 초과 및 지연 지원

public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)

위의 방법은 작업이 일정 시간 내에 완료되지 않으면 프로그램이 중지되고 TimeoutException이 발생하는지 여부를 지정하는 데 사용되었습니다. .

public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)

위의 방법은 CompletableFuture 를 완료합니다. 제공된 값으로. 그렇지 않은 경우 지정된 시간 초과 전에 완료됩니다.

서브클래싱 지원 개선

public Executor defaultExecutor()

위의 방법은 기본값 을 반환합니다. 집행자 Executor를 표시하지 않는 비동기 메소드에 사용됩니다. 최소한 하나의 독립적 을 제공하기 위해 Executor를 반환하기 위해 서브클래스에서 재정의될 수 있습니다. 스레드 .

public <U> CompletableFuture<U> newIncompleteFuture()

위의 방법은 새로운 불완전한 을 반환합니다. CompletableFuture CompletionStage 에서 반환할 사양의 방법.

새로운 팩토리 메소드

public static <U> CompletableFuture<U> completedFuture(U value)

위의 팩토리 메소드는 새로운 CompletableFuture 를 반환합니다. 이미 제공된 값으로 달성했습니다.

public static <U> CompletionStage<U> completedStage(U value)

위의 팩토리 메소드는 새로운 CompletionStage 를 반환합니다. 제공된 값으로 이전에 수행되었으며 CompletionStage 인터페이스에서 사용할 수 있는 메서드와만 호환됩니다. .