public enum State {
/**
* new狀態(tài)是線程實(shí)例化后還從未執(zhí)行start()方法時(shí)的狀態(tài)
*/
NEW,
/**
* runnable狀態(tài)是線程進(jìn)人運(yùn)行的狀態(tài)
*/
RUNNABLE,
/**
* blocked狀態(tài)出現(xiàn)在某一個(gè)線程在等待鎖的時(shí)候。
*/
BLOCKED,
/**
* waiting是線程執(zhí)行了Object.wait()方法后所處的狀態(tài)
*/
WAITING,
/**
* timed_waiting代表線程執(zhí)行了Thread.sleep()方法,
* 呈等待狀態(tài),等待時(shí)間到達(dá),繼續(xù)向下運(yùn)行。
*/
TIMED_WAITING,
/**
* terinated是線程被銷毀時(shí)的狀態(tài),線程完全執(zhí)行了
*/
TERMINATED;
}
//該方法能獲取線程的狀態(tài)
public State getState() {
// get current thread state
return sun.misc.VM.toThreadState(threadStatus);
}