久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java線程超時自動關閉怎么解決

184次閱讀
沒有評論

共計 835 個字符,預計需要花費 3 分鐘才能閱讀完成。

在 Java 中,可以使用 ExecutorService 來控制線程的超時時間并自動關閉線程。下面是一個示例代碼:

import java.util.concurrent.*;

public class ThreadTimeoutExample {public static void main(String[] args) {ExecutorService executor = Executors.newSingleThreadExecutor();

        try {Future<String> future = executor.submit(new Callable<String>() {@Override
                public String call() throws Exception {// 在這里執行耗時操作 
                    Thread.sleep(5000);
                    return "Task completed";
                }
            });

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

在上面的示例中,我們使用 ExecutorService 創建了一個單線程池,并提交了一個耗時 5 秒的任務。通過 Future 的 get 方法設置超時時間為 3 秒,如果任務在規定時間內未完成,則會拋出 TimeoutException 并取消任務。最后記得調用 ExecutorService 的 shutdown 方法關閉線程池。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-03-19發表,共計835字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 鄂州市| 衡阳县| 郯城县| 石河子市| 商洛市| 长阳| 石泉县| 库车县| 宽城| 元阳县| 章丘市| 枣强县| 凤庆县| 林西县| 田阳县| 读书| 万宁市| 体育| 安远县| 泸定县| 淳安县| 息烽县| 营口市| 淮南市| 普宁市| 乳源| 安多县| 无极县| 鸡泽县| 和硕县| 和静县| 博白县| 屯昌县| 泰和县| 瓦房店市| 吉安县| 福贡县| 惠东县| 海安县| 搜索| 内黄县|