工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java 9 CompletableFuture API改善:遅延・タイムアウト・サブクラス対応・新ファクトリ

CompletableFutureクラスはJava 8で導入され、値とステータスを明示的に設定して完了できるFutureを表します。java.util.concurrent.CompletionStageとして使用でき、依存関数とアクションをサポートし、Future完了時にトリガーされます。Java 9ではCompletableFuture APIがさらに拡張されました。主な変更点は以下の通りです。

遅延とタイムアウトのサポート

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

指定されたタイムアウト前に別途完了しない場合、このCompletableFutureを指定された値で完了させます。

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

指定されたタイムアウト前に別途完了しない場合、このCompletableFutureをTimeoutExceptionで例外的に完了させます。

サブクラス化の改善

public Executor defaultExecutor()

Executorを指定しない非同期メソッドで使用されるデフォルトExecutorを返します。サブクラスでオーバーライドして、最低限独立したスレッドを提供するExecutorを返せます。

public <U> CompletableFuture<U> newIncompleteFuture()

CompletionStageメソッドで返される型の新しい未完了CompletableFutureを返します。CompletableFutureクラスのサブクラスは、このメソッドをオーバーライドして、このCompletableFutureと同じクラスのインスタンスを返すべきです。デフォルト実装はCompletableFutureクラスのインスタンスを返します。

新しいファクトリメソッド

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

指定された値で既に完了した新しいCompletableFutureを返すファクトリメソッド。

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

指定された値で既に完了した新しいCompletionStageを返すファクトリメソッド。CompletionStageインターフェースに存在するメソッドのみサポート。

public static <U> CompletionStage<U> failedStage(Throwable ex)

指定された例外で例外的に完了した新しいCompletionStageを返すファクトリメソッド。CompletionStageインターフェースに存在するメソッドのみサポート。

Java

  1. 設備信頼性向上のブループリント:構造化5ステッププラン
  2. アレゲニー・パワー、ウェストバージニア州の信頼性向上に1億5600万ドルを投資
  3. 堅牢なAPIでCMMS機能を拡張:ERP、会計、IoTと連携
  4. GY-91モジュールでRaspberry Pi上に堅牢な温度・センサーAPIを構築
  5. 暗号ハードウェア性能を飛躍させる6つの鍵となるイノベーション
  6. Java 9(JDK 9)の主要機能とメリット
  7. Java 9プロセスAPIの改善:ProcessHandleで詳細情報取得
  8. Java 9ストリームAPI拡張:takeWhile、dropWhile、iterate、ofNullable
  9. Java 9のOptionalクラス新機能:stream()、ifPresentOrElse()、or()
  10. Java 9マルチ解像度イメージAPI:レスポンシブグラフィックスを簡素化
  11. Java 9 CompletableFuture API改善:遅延・タイムアウト・サブクラス対応・新ファクトリ