中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

怎樣獲取JavaFutureTask執行結果

小樊
81
2024-11-19 13:34:42
欄目: 編程語言

要獲取JavaFutureTask的執行結果,您需要使用Future.get()方法。這個方法會阻塞當前線程,直到任務完成并返回結果。以下是一個簡單的示例:

import java.util.concurrent.*;

public class Main {
    public static void main(String[] args) {
        // 創建一個線程池
        ExecutorService executor = Executors.newSingleThreadExecutor();

        // 創建一個JavaFutureTask實例
        Callable<String> task = () -> {
            // 模擬一個耗時任務
            Thread.sleep(3000);
            return "任務執行結果";
        };

        // 將Callable任務提交給線程池并獲取JavaFutureTask實例
        Future<String> future = executor.submit(task);

        try {
            // 獲取任務執行結果,這將阻塞當前線程,直到任務完成
            String result = future.get();
            System.out.println("任務執行結果: " + result);
        } catch (InterruptedException | ExecutionException e) {
            e.printStackTrace();
        } finally {
            // 關閉線程池
            executor.shutdown();
        }
    }
}

在這個示例中,我們創建了一個線程池,然后提交了一個Callable任務給線程池。Callable任務返回一個字符串作為結果。我們使用Future.get()方法獲取任務執行結果,并在控制臺輸出結果。注意,future.get()方法可能會拋出InterruptedExceptionExecutionException異常,因此我們需要使用try-catch語句處理這些異常。最后,不要忘記關閉線程池。

0
固镇县| 江油市| 彰化市| 怀柔区| 大名县| 西充县| 鲜城| 深圳市| 晋州市| 永寿县| 元氏县| 常德市| 万盛区| 临西县| 北票市| 资溪县| 屯昌县| 黔西| 闽清县| 郸城县| 九江县| 宁都县| 本溪市| 江都市| 沽源县| 临夏县| 浦北县| 黄山市| 和平区| 阳春市| 井冈山市| 兴安盟| 庄浪县| 乐陵市| 朝阳县| 陕西省| 梅河口市| 巴南区| 中卫市| 天台县| 大埔县|