1、running:初始化后的状态,表示线程池可以处理任务。
2、shutdown:调用线程池的shutdown方法会使线程进入shutdown状态,从而调用execute的时候会抛出异常。但如果阻塞队列中还有任务,则会先将阻塞队列中的认为执行完,才会后i收所有线程。
3、stop:调用线程池的shutdownnow方法会使线程进入stop状态,既不能接受新的任务,也不能把阻塞队列中的任务执行完。
4、tidying:在执行玩shutdownnow方法的时候,关闭完所有线程的时候,就会调用tryTerminate()方法
5、terminated:线程池处于TIDYING状态后,会执行terminated()方法,执行完后就i进入terminated状态,在ThreadPoolExecutor中的terminated()是一个空方法,可以自定义线程池重写这个方法,实现自定义的业务逻辑。