首頁 > Java > java教程 > 主體

java異常編程FutureTask實例分析

WBOY
發布: 2023-06-03 17:10:05
轉載
1462 人瀏覽過

說明

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中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板