0

私はCompletionStageを返すメソッドを持っています。私はその反応を気にしない。メソッドを非同期で呼び出すにはどうすればよいですか?完了段階は単にメソッドを呼び出すだけでノンブロッキングになりますか?Java FireとCompletionStage/CompletableFutureを忘れました

答えて

0

静的メソッドsupplyAsyncを呼び出すことができます。

この方法を参照してください。それだけでメソッドを呼び出す発射する

public CompletionStage<String> method() { 
    return CompletableFuture.supplyAsync(() -> { 
     // do your work and return the same type inside <> 
     return "Hello World"; 
    }); 
} 

を。

0

方法の指定/実装方法によって異なりますが、通常は非ブロックです。

完成したCompletableFutureを返すメソッドを実装するのは非常に簡単であり、したがって非同期ではありません。

しかし、重要なことは、返されたCompletionStageで行うことは、メソッドが非同期であるかどうかに影響しないことです。これはメソッド仕様にのみ依存します。

通常、メソッドがCompletionStageを返すときは、非同期操作が実行されるためですが、ラッパー(Spring @Asyncなどのプロキシオブジェクト)が非同期操作を行う可能性もあります。その場合は、非同期実行を取得するためにラッパーを通過することを確認する必要があります。

関連する問題