1.Running: 接受新task, 處理等待的task;
2.ShutDown: 不接受新task,但處理等待的task;
3.Stop: 不接受新task, 不處理等待的task, 嘗試打斷正在執行的task;
4.Tidying:但所有task都被終止, worCount == 0的時候(workCount是指有效的線程數);
5.Terminated: 執行完terminated()方法;
Running -> ShutDown:
執行shutdown();
Running or ShutDown --> Stop:
執行shutdownNow();
Stop --> Tidying
當pool為空時
ShutDown --> Tidying
當queue 和 pool都為空時
Tidying --> Terminated
當terminated()方法結束時;