温馨提示×

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

小亿
269
2023-08-20 03:00:44
栏目: 编程语言

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

示例代码如下:

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

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

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

示例代码如下:

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

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

0