非同期呼び出しを実装するための Java の手法は何か

Javaにおける非同期で呼び出す方法としては、以下のようなものがあります。

  1. スレッドクラスを使用:新しいスレッドを作成することで非同期タスクを実行します。スレッドオブジェクトは、スレッドクラスを継承するかRunnableインターフェイスを実装して作成し、start()メソッドでスレッドを開始することができます。
Thread thread = new Thread(new Runnable() {
    public void run() {
        // 异步任务代码
    }
});
thread.start();
  1. ExecutorServiceフレームワークを使用する: ExecutorServiceはJavaが提供するスレッドプールフレームワークで、submit()メソッドで非同期タスクを送信でき、Futureオブジェクトを返します。Futureのget()メソッドを呼び出すと、非同期タスクの実行結果を取得できます。
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<String> future = executor.submit(new Callable<String>() {
    public String call() throws Exception {
        // 异步任务代码
        return "异步任务执行结果";
    }
});
// 获取异步任务的执行结果
String result = future.get();
  1. CompletableFutureクラスの使用: CompletableFutureはJava 8で追加されたクラスで、非同期処理や非同期コードの記述を支援します。非同期のメソッドチェーンを利用することで、複雑な非同期処理を作成できます。
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
    // 异步任务代码
    return "异步任务执行结果";
});
future.thenAccept(result -> {
    // 处理异步任务的执行结果
});
  1. 非同期処理の完了を待ち、コールバック関数呼び出しで結果を処理するには、コールバックインターフェイスを定義し、非同期タスクが完了したときにコールバック関数を呼び出すことができます。
public interface AsyncCallback {
    void onSuccess(String result);
    void onFailure(Throwable throwable);
}

public class AsyncClass {
    public void asyncMethod(AsyncCallback callback) {
        // 异步任务代码
        String result = "异步任务执行结果";
        callback.onSuccess(result);
    }
}

public class MainClass {
    public static void main(String[] args) {
        AsyncClass asyncObj = new AsyncClass();
        asyncObj.asyncMethod(new AsyncCallback() {
            public void onSuccess(String result) {
                // 处理异步任务的执行结果
            }
            public void onFailure(Throwable throwable) {
                // 处理异步任务的异常情况
            }
        });
    }
}

以上の方法は非同期呼び出しを実装する一般的な方法で、要件や状況に応じて適切な方法を選択できます。

bannerAds