ホームページ  >  記事  >  Java  >  Java 例外プログラミング FutureTask インスタンスの分析

Java 例外プログラミング FutureTask インスタンスの分析

WBOY
WBOY転載
2023-06-03 17:10:051435ブラウズ

説明

1. FutureTask クラスは、Future インターフェイスを実装するだけでなく、結果を生成できる Runnable を表す Runnable インターフェイスも実装します。

2. FutureTask クラスは、タスクの開始とキャンセル、タスクが完了したかどうかの問い合わせ、および計算結果の取得を行う Future インターフェイスのメソッドを実装します。

FutureTask タスクの結果を取得するには、getXXX() 一連のメソッドを呼び出すことによってのみ取得できます。結果が得られない場合、これらのメソッドはブロックされます。 Callable 型 (結果を返す) にすることも、Runnable 型 (結果を返さない) にすることもできます。

private static void testFutureTask() throws ExecutionException, InterruptedException {
    System.out.println("-------------------- testFutureTask --------------------");
 
    // 创建一个 FutureTask(doOneThing 任务)
    FutureTask<String> futureTask = new FutureTask<>(FutureTaskDemo::doOneThing);
    // 使用线程池执行 doOneThing 任务
    ForkJoinPool.commonPool().execute(futureTask);
 
    // 执行 doOtherThing 任务
    String doOtherThingResult = doOtherThing();
 
    // 同步等待线程执行 doOneThing 任务结束
    String doOneThingResult = futureTask.get();
 
    // 任务执行结果输出
    System.out.println("doOneThingResult ---->>> " + doOneThingResult);
    System.out.println("doOtherThingResult ---->>> " + doOtherThingResult);
}

以上がJava 例外プログラミング FutureTask インスタンスの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。