学堂 学堂 学堂公众号手机端

在Java中,可以使用ExecutorService接口的shutdownNow()方法来强制结束并抛出任务

lewis 2年前 (2023-12-08) 阅读数 6 #技术

在Java中,可以使用ExecutorService接口的shutdownNow()方法来强制结束并抛出任务。这个方法会尝试立即停止所有在执行的任务,并返回一个包含未执行的任务的列表。

下面是一个简单的示例代码,演示如何使用ExecutorServiceshutdownNow()方法来强制结束并抛出任务:

importjava.util.concurrent.ExecutorService; importjava.util.concurrent.Executors; importjava.util.concurrent.TimeUnit; importjava.util.List; publicclassMain{ publicstaticvoidmain(String[]args){ ExecutorServiceexecutor=Executors.newSingleThreadExecutor(); //提交一个任务 executor.submit(()->{ try{ Thread.sleep(5000);//模拟一个耗时任务 }catch(InterruptedExceptione){ System.out.println("任务被中断"); return; } System.out.println("任务完成"); }); //等待一段时间后强制结束任务 try{ List<Runnable>remainingTasks=executor.shutdownNow(); if(!remainingTasks.isEmpty()){ System.out.println("强制结束任务"); } }catch(Exceptione){ e.printStackTrace(); } } }

在这个示例中,我们首先创建一个ExecutorService并提交一个耗时5秒的任务。然后在等待一段时间后,调用shutdownNow()方法来强制结束任务。如果有未执行的任务,将会打印出提示信息。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门