线程池的停止

Posted cnxieyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程池的停止相关的知识,希望对你有一定的参考价值。

上篇博客介绍了线程池的创建的,本文重点介绍线程池应该如何关闭。

线程池停止的相关方法有:shutdown、

shutdown

  关闭线程池的方法之一,调用线程池的此方法后,不再接受新的任务,待所有任务都执行关闭后,进行关闭

  实例代码如下所示,不再接收新任务测试。

  

package threadPool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class FixedThreadPoolTest {
    public static void main(String[] args) throws InterruptedException {
        ExecutorService executorService= Executors.newFixedThreadPool(4);
        for (int i=0;i<Integer.MAX_VALUE;i++){
            executorService.execute(new FixTask());
        }
        Thread.sleep(1500);
        executorService.execute(new FixTask());
    }
}

class FixTask implements Runnable{

    @Override
    public void run() {
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println(Thread.currentThread().getName());
    }
}

 isShutdown

 线程池是否已经关闭

isTerminated

  线程池所有任务任务是否已经关闭

awaitTermination

shutdownNow

 

以上是关于线程池的停止的主要内容,如果未能解决你的问题,请参考以下文章

IDEA对新建java线程池的建议

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第5节 线程池_2_线程池的代码实现

java线程池的关闭

java线程池中正在执行的线程彻底停止

MySQL系列:kafka停止命令