English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 أدخل فئة CompletableFuture<T>، قد يكون إصدارًا واضحًا من java.util.concurrent.Future<T> (تم تعيين قيمته حالة) أو يمكن استخدامها كـjava.util.concurrent.CompleteStage. يدعم future التشغيل بعض الوظائف والأفعال الاعتمادية عند إكماله. أدخل Java 9 بعضCompletableFuture 的改进:
Java 9 对 CompletableFuture 做了改进:
支持 delays 和 timeouts
把子类化的支持上升
新的工工方法
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
中 timeout(单位在 java.util.concurrent.Timeunits units 中,例如 MILLISECONDS 、前以结实值 value 实现该 CompletableFutrue,并返回该 CompletableFutrue。
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
如果在结实的 timeout 内未完成,就以 java.util.concurrent.TimeoutException 实现该 CompletableFutrue,并返回该 CompletableFutrue。
做了很多改进,增强了子类化的支持 CompletableFuture 可以被更简单的继承。件如,你可能想重写新的 public Executor defaultExecutor() 方法来换代默认的 executor。
另一个新的方法是:支持子类化易于经理。
public <U> CompletableFuture<U> newIncompleteFuture()
Java 8 开开了了 <U> CompletableFuture<U> completedFuture(U value) 工工方法来返回一个已以以结实值 value 实现的 CompletableFuture。<U> CompletableFuture<U> failedFuture(Throwable ex) 在 Java 9 中连加了该方法,可以返回一个以结实布象 ex 实现的 CompletableFuture。
إضافة إلى ذلك، قدم Java 9 زوج من طرق المصنعات الموجهة للمرحلة، التي تعيد completion stages الناجحة أو الناجحة بسبب استثناء:
<U> CompletionStage<U> completedStage(U value): يعيد一个新的 CompletionStage يتم إكمالها بقيمة المحددة، ويشمل فقط واجهات CompletionStage
<U> CompletionStage<U> failedStage(Throwable ex): يعيد一个新的 CompletionStage يتم إكمالها باستخدام الاستثناء المحددCompletionStage ، ويشمل فقط CompletionStage الواجهات.