java.util.concurrent.ExecutorService接口与Two-Phase Termination模式

通常,线程都会在ExecutorService接口背后运行。为了优雅地终止运行中的线程,ExecutorService接口准备了shutdown方法。

ExecutorService接口还提供了用于确认终止处理已执行到哪个阶段的方法。

isShutdown方法是用于确认shutdown方法是否已经被调用的方法。如果shutdown方法已经被调用,那么isShutdown会返回true。但是,即使isShutdown为true,也并不表示线程已经实际停止了。

isTerminated方法是用于确认线程是否已经实际停止了的方法。如果线程已经停止了,isTerminated会返回true。

k8m5aq.png