【高并发】深度解析ScheduledThreadPoolExecutor类的源代码( 四 )

ScheduledThreadPoolExecutor类中的onShutdown方法的主要逻辑就是先判断线程池调用shutdown方法后 , 是否继续执行现有的延迟任务和定时任务,如果不再执行,则取消任务并清空队列;如果继续执行 , 将队列中的任务强转为RunnableScheduledFuture对象之后,从队列中删除并取消任务 。大家需要好好理解这两种处理方式 。最后调用ThreadPoolExecutor类的tryTerminate方法 。有关ThreadPoolExecutor类的tryTerminate方法的源码解析,大家可以参考【高并发专题】中的《高并发之——通过源码深度分析线程池中Worker线程的执行流程》一文,这里不再赘述 。
至此,ScheduledThreadPoolExecutor类中的核心方法的源代码,我们就分析完了 。

推荐阅读