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

溫馨提示×

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

小億
268
2024-03-12 10:16:24
欄目: 編程語言

在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方法關閉線程池。

0
甘孜县| 拜泉县| 库车县| 临西县| 内乡县| 新邵县| 蒙城县| SHOW| 安丘市| 离岛区| 班戈县| 庆安县| 涿鹿县| 衡南县| 肇源县| 英山县| 沧州市| 将乐县| 南溪县| 通辽市| 凤台县| 古丈县| 景泰县| 柳林县| 黎川县| 永安市| 怀安县| 刚察县| 琼海市| 咸丰县| 芜湖县| 读书| 绵竹市| 宁远县| 南安市| 泾源县| 湘乡市| 桦川县| 德保县| 莆田市| 连平县|