Javaで非同期実行結果を取得の方法

JavaではFutureとCompletableFutureというクラスを使って非同期実行の結果を取得できます。

  1. 将来を使う
  2. 非同期処理を実行し、その結果を返すcall()メソッドを実装したCallableオブジェクトを定義する。
  3. CallableオブジェクトをExecutorServiceのsubmit()メソッドで実行し、Futureオブジェクトを返します。
  4. Futureオブジェクトのget()メソッドを呼び出すことで、非同期操作の結果を取得する。非同期操作がまだ完了していない場合、get()メソッドは非同期操作が完了するまでブロックする。
  5. マルチスレッド処理の例:
    非同期処理を使って、結果を待つ。
  6. CompletableFutureを使用して
  7. CompletableFuture.supplyAsyncメソッドを使用して非同期操作を実行し、CompletableFuture objectを返します。
  8. CompletableFutureオブジェクトのgetメソッドを呼び出すことで、非同期処理の結果を取得できます。非同期処理が完了していない場合には、getメソッドは非同期処理完了までブロックされます。
  9. CompletableFuture future = CompletableFuture.supplyAsync(() -> {
    // 非同期処理
    return “非同期処理結果”;
    });String result = future.get();
    System.out.println(result);

これらメソッドはどちらも、非同期操作が完了して結果を返すまで、メインスレッドをブロックします。メインスレッドをブロックしたくない場合は、コールバック関数を使用するか、非同期操作の結果を処理するための CompletableFuture の他の手法を使用できます。

bannerAds