将来の課題の使い方は何ですか?

FutureTaskは、Javaの一つのクラスで、非同期タスクの結果が生じる可能性を表すために使用されます。これはマルチスレッドプログラミングに使用され、通常ExecutorServiceと一緒に使われます。

FutureTaskを使用する一般的な手順は次の通りです:

  1. Callableオブジェクトを作成し、非同期に実行するタスクを実行するためにcall()メソッドを実装してください。call()メソッドの戻り値の型はFutureTaskのジェネリック型と一致している必要があります。
Callable<Integer> callable = new Callable<Integer>() {
    @Override
    public Integer call() throws Exception {
        // 执行异步任务
        return 42;
    }
};
  1. Callableオブジェクトをパラメーターとして渡して、FutureTaskオブジェクトを作成します。
FutureTask<Integer> futureTask = new FutureTask<>(callable);
  1. スレッドプールを作成し、FutureTaskオブジェクトをスレッドプールに送信して実行させる。
ExecutorService executor = Executors.newFixedThreadPool(1);
executor.submit(futureTask);
  1. FutureTaskのget()メソッドを使用すると非同期タスクの結果を取得できます。タスクがまだ完了していない場合、get()メソッドは現在のスレッドをブロックし、タスクが完了するまで待機します。
try {
    Integer result = futureTask.get();
    System.out.println("异步任务的结果是:" + result);
} catch (InterruptedException e) {
    e.printStackTrace();
} catch (ExecutionException e) {
    e.printStackTrace();
}

上記の手順に従えば、FutureTaskを使用して非同期タスクを実行し、結果を取得できます。

bannerAds