ホームページ > Java > &#&チュートリアル > Java 例外プログラミング FutureTask インスタンスの分析

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

WBOY
リリース: 2023-06-03 17:10:05
転載
1481 人が閲覧しました

説明

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート