Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

การปรับปรุง CompletableFuture API ใน Java 9

CompletableFuture API Improvements

Java 9 ปรับปรุง CompletableFuture สำหรับ asynchronous programming เพิ่ม 3 พื้นที่หลัก:

1. Support for Timeouts and Delays

orTimeout()

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

ถ้า task ไม่เสร็จภายใน timeout -> โยน TimeoutException

completeOnTimeout()

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

ถ้า task ไม่เสร็จภายใน timeout -> complete ด้วย fallback value

2. Improved Support for Subclassing

defaultExecutor()

public Executor defaultExecutor()

คืน default executor สำหรับ async methods อาจ override ใน subclass

newIncompleteFuture()

public <U> CompletableFuture<U> newIncompleteFuture()

คืน incomplete CompletableFuture ใหม่สำหรับ subclass

3. New Factory Methods

completedFuture()

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

คืน CompletableFuture ที่ complete แล้วด้วย value

completedStage()

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

คืน CompletionStage ที่ complete แล้ว (interface level)

สรุป

การปรับปรุงเหล่านี้ทำให้ CompletableFuture ยืดหยุ่นขึ้น รองรับ timeout patterns และ subclassing ได้ดีกว่า