【Java】CompletableFutureの使い方

実行環境

CompletableFutureとは

  • Future:get()メソッドで非同期処理の結果を取得することが主な役割。機能不足。
  • CompletableFuture:処理完了時のコールバックの設定やメソッドチェーンによる処理の連鎖などが行える。

CompletableFutureの使い方

CompletableFutureの生成

  • runAsync()
  • supplyAsync()
  • completedFuture()

CompletableFutureの結果取得

  • get()
  • join()

CompletableFutureの後処理

  • thenApply()
  • thenAccept()
  • thenRun()

CompletableFutureの合成

  • thenCompose()
  • thenCombine()
  • allOf()
  • anyOf()

CompletableFutureのエラーハンドリング

  • try/catch
  • exceptionally()
  • handle()

get() vs join()

get()の特徴

  • Futureインタフェースのメソッド
  • チェック例外(ExecutionException, InterruptedException)をスローする
  • タイムアウト値を設定できる

join()の特徴

  • CompletableFutureクラスのメソッド
  • 非チェック例外(CompletionException)をスローする

参考文献

CompletableFutureとは

docs.oracle.com

relearn-java.com

CompletableFutureの使い方

hazm.at

yohhoy.hatenadiary.jp

pppurple.hatenablog.com

www.baeldung.com

www.callicoder.com

get() vs join()

tedblob.com