English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

التعليمية الأساسية لـ Java

تحكم في العمليات في Java

مجموعات Java Array

Java موجهة نحو الكائنات (I)

Java موجهة نحو الكائنات (II)

Java موجهة نحو الكائنات (III)

معالجة الاستثناءات لـ Java

قوائم Java (List)

Java Queue (الطوابير)

مجموعات Java Map

مجموعات Java Set

مدخلات ومخرجات Java (I/O)

قراء وكتالوجات Java

مواضيع أخرى في Java

تحسين API لـ CompletableFuture في Java 9

ميزات Java 9 الجديدة

Java 8 أدخل فئة CompletableFuture<T>، قد يكون إصدارًا واضحًا من java.util.concurrent.Future<T> (تم تعيين قيمته حالة) أو يمكن استخدامها كـjava.util.concurrent.CompleteStage. يدعم future التشغيل بعض الوظائف والأفعال الاعتمادية عند إكماله. أدخل Java 9 بعضCompletableFuture 的改进:

Java 9 对 CompletableFuture 做了改进:

  • 支持 delays 和 timeouts

  • 把子类化的支持上升

  • 新的工工方法

支持 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 الواجهات.

ميزات Java 9 الجديدة