租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

java怎么停止线程池中的线程,java怎么停止一个线程

发布时间:2023-08-21 07:56:24

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

要停止线程池中的线程,可使用 `ExecutorService` 接口提供的 `shutdown()` 方法来停止线程池。这个方法会平滑地关闭线程池,即等待所有已提交的任务履行终了后关闭线程池。
示例代码以下:
```
ExecutorService executor = Executors.newFixedThreadPool(5);
// 履行任务...
// 停止线程池
executor.shutdown();
```
上述代码中,`Executors.newFixedThreadPool(5)` 创建了一个固定大小的线程池,然后在履行任务后调用 `executor.shutdown()` 方法停止线程池。
如果想立即停止线程池,可使用 `shutdownNow()` 方法,该方法会尝试停止所有正在履行的任务并立即关闭线程池。
示例代码以下:
```
ExecutorService executor = Executors.newFixedThreadPool(5);
// 履行任务...
// 立即停止线程池
executor.shutdownNow();
```
需要注意的是,调用 `shutdown()` 或 `shutdownNow()` 方法后,线程池将不能再接受新的任务,但已提交的任务会继续履行直到完成或被中断。