Java 9 中 CompletableFuture API 的改進有哪些?


CompletableFuture API 用於 Java 中的非同步程式設計。這意味著我們可以透過在與主()執行緒不同的執行緒上執行任務並通知主()執行緒其進度、完成或失敗來編寫非阻塞程式碼。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()

上述方法返回用於非同步方法的預設執行器,這些方法不顯示執行器。它可以在子類中被覆蓋以返回一個執行器,以提供至少一個獨立執行緒

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中可用的那些方法相容。

更新於:2020年2月21日

252 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告