亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

JavaFutureTask能取消正在執行的任務嗎

小樊
82
2024-11-19 13:40:43
欄目: 編程語言

是的,JavaFutureTask可以取消正在執行的任務。你可以使用Future.cancel()方法來取消一個任務。如果任務已經開始執行,那么它可能不會立即停止,但是任務的后續操作將會被中斷。如果任務還沒有開始執行,那么它將不會被執行,并且cancel()方法會返回true

以下是一個簡單的示例:

import java.util.concurrent.*;

public class JavaFutureTaskCancelExample {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Future<?> futureTask = executor.submit(() -> {
            try {
                System.out.println("Task started...");
                Thread.sleep(10000); // 模擬長時間運行的任務
                System.out.println("Task completed.");
            } catch (InterruptedException e) {
                System.out.println("Task interrupted.");
            }
        });

        try {
            Thread.sleep(2000); // 等待任務開始執行
            boolean isCancelled = futureTask.cancel(true); // 取消任務
            if (isCancelled) {
                System.out.println("Task cancelled.");
            } else {
                System.out.println("Task not cancelled.");
            }
        } catch (InterruptedException e) {
            System.out.println("Main thread interrupted.");
        } finally {
            executor.shutdown();
        }
    }
}

在這個示例中,我們創建了一個JavaFutureTask并提交給一個單線程執行器。然后,我們在任務開始執行之前取消了它。輸出將顯示任務被取消。

0
侯马市| 北川| 新晃| 石嘴山市| 类乌齐县| 南部县| 辉县市| 淮阳县| 涿鹿县| 思南县| 突泉县| 鄂尔多斯市| 晋宁县| 安吉县| 石城县| 石阡县| 德江县| 太白县| 曲周县| 尤溪县| 郴州市| 资溪县| 巫山县| 从江县| 稷山县| 梨树县| 宁夏| 榕江县| 阜南县| 清水河县| 平定县| 富蕴县| 曲阳县| 赫章县| 繁峙县| 来宾市| 长治市| 永仁县| 镇巴县| 磐石市| 雷山县|