CompletableFutureの非同期プログラミングの組み合わせ

1.背景を紹介する

1.非同期計算:呼び出された関数の戻り結果を待たずに関数を呼び出し、プログラムを実行します。

2.非同期計算のスレッドを開始できます

3. Future非同期計算を使用して、スレッドプールと組み合わせて使用​​できる計算結果を取得できます。

4. Futureの欠点:結果を待ってブロックまたはポーリングすること、および複数のFutureの結果間の依存関係を直接表現することが難しい

5. CompletableFutureはFutureの最適化であり、組み合わせることができます

 

2、CompletionStageインターフェース

1. CompletionStageは、非同期計算プロセスの特定の段階を表します

2. 1つのステージが完了した後、別のステージがトリガーされる場合があります

3.実行の1つの段階:関数、コンシューマー、実行可能

 

3、CompletableFutureクラス

1. Futureインターフェース(明示的に完了したFuture)とCompletionStageインターフェース(特定の完了段階)を実装しました

2. CompletableFutureオブジェクトを作成します。4つのメソッドがあります

public  static CompletableFuture <Void> runAsync(Runnable runnable)
 public  static CompletableFuture <Void> runAsync(Runnable runnable、Executor executor)
 public  static <U> CompletableFuture <U> supplyAsync(Supplier <U> supplier)
 public  static <U> CompletableFuture <U > supplyAsync(サプライヤー<U>サプライヤー、エグゼキューターエグゼキューター)

 

4番目に、CompletableFutureオブジェクトを使用します

変換結果

2.消費実績

3. 2つのCompletionStageの結果を結合し、変換後に戻る

4. 2つのCompletionStage、速く計算する人、その結果は次の処理に使用され、次に適用

5.例外を使用して、例外後の補償を行う

 

 

 

 

参照:

https://www.cnblogs.com/happyliu/archive/2018/08/12/9462703.html

https://www.cnblogs.com/cjsblog/p/9267163.html

https://blog.csdn.net/moonpure/article/details/81080427

https://segmentfault.com/a/1190000019571918

 

おすすめ

転載: www.cnblogs.com/june0816/p/11442827.html