Java多线程系列 JUC线程池07 线程池原理解析

Posted lizhouwei

tags:

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

 关闭“线程池”

shutdown()的源码如下:

public void shutdown() {
    final ReentrantLock mainLock = this.mainLock;
    // 获取锁
    mainLock.lock();
    try {
        // 检查终止线程池的“线程”是否有权限。
        checkShutdownAccess();
        // 设置线程池的状态为关闭状态。
        advanceRunState(SHUTDOWN);
        // 中断线程池中空闲的线程。
        interruptIdleWorkers();
        // 钩子函数,在ThreadPoolExecutor中没有任何动作。
        onShutdown(); // hook for ScheduledThreadPoolExecutor
    } finally {
        // 释放锁
        mainLock.unlock();
    }
    // 尝试终止线程池
    tryTerminate();
}

 

以上是关于Java多线程系列 JUC线程池07 线程池原理解析的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程系列--“JUC线程池”02之 线程池原理

Java多线程系列--“JUC线程池”03之 线程池原理

Java多线程系列--“JUC线程池”02之 线程池原理

Java多线程系列--“JUC线程池”04之 线程池原理

Java多线程系列--“JUC线程池”03之 线程池原理

Java多线程系列--“JUC线程池”02之 线程池原理