java怎么停止线程池中的线程

732
2023/9/13 3:00:44
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要停止线程池中的线程,可以使用 ExecutorService 接口提供的 shutdown() 方法来停止线程池。这个方法会平滑地关闭线程池,即等待所有已提交的任务执行完毕后关闭线程池。

示例代码如下:

ExecutorService executor = Executors.newFixedThreadPool(5);
// 执行任务...
// 停止线程池
executor.shutdown();

上述代码中,Executors.newFixedThreadPool(5) 创建了一个固定大小的线程池,然后在执行任务后调用 executor.shutdown() 方法停止线程池。

如果想立即停止线程池,可以使用 shutdownNow() 方法,该方法会尝试停止所有正在执行的任务并立即关闭线程池。

示例代码如下:

ExecutorService executor = Executors.newFixedThreadPool(5);
// 执行任务...
// 立即停止线程池
executor.shutdownNow();

需要注意的是,调用 shutdown()shutdownNow() 方法后,线程池将不能再接受新的任务,但已提交的任务会继续执行直到完成或被中断。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Java中instanceOf关键字的作用是什么