91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java settimeout如何避免超時異常

小樊
85
2024-06-25 17:45:26
欄目: 編程語言

在Java中沒有類似JavaScript中的setTimeout函數來設置超時時間。但是可以使用ExecutorService和Future來實現類似的功能,避免超時異常。

下面是一個示例代碼:

import java.util.concurrent.*;

public class TimeoutExample {

    public static void main(String[] args) {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Future<String> future = executor.submit(() -> {
            // 這里執行需要超時控制的任務
            try {
                Thread.sleep(5000); // 模擬一個長時間執行的任務
                return "Task completed";
            } catch (InterruptedException e) {
                return "Task interrupted";
            }
        });

        try {
            String result = future.get(3, TimeUnit.SECONDS); // 設置超時時間為3秒
            System.out.println(result);
        } catch (TimeoutException e) {
            future.cancel(true); // 超時時取消任務
            System.out.println("Task timed out");
        } catch (InterruptedException | ExecutionException e) {
            e.printStackTrace();
        }

        executor.shutdown();
    }
}

在上面的示例中,通過ExecutorService的submit方法提交一個任務,然后使用future.get方法設置超時時間為3秒。如果任務在3秒內沒有完成,將會拋出TimeoutException異常,并取消任務執行。如果任務在超時時間內完成,則會返回結果。

0
宁安市| 临武县| 涟源市| 衡水市| 株洲县| 石门县| 缙云县| 奉贤区| 墨脱县| 遵义县| 微山县| 抚松县| 博白县| 缙云县| 平安县| 建瓯市| 吴旗县| 遂川县| 白朗县| 辉南县| 琼海市| 拉孜县| 天镇县| 剑河县| 阳西县| 庆城县| 精河县| 丘北县| 平乡县| 达尔| 乌苏市| 永定县| 依安县| 缙云县| 固镇县| 克什克腾旗| 福鼎市| 清远市| 密云县| 庆阳市| 嫩江县|