1.新建(NEW):創(chuàng)建后未啟動
2.運(yùn)行(Runnable):包含Running 和Ready
3.無限等待(Waiting):不會分配CPU執(zhí)行時(shí)間熄诡,需要顯式喚醒
<1>沒有設(shè)置Timeout參數(shù)的Object.wait()方法
<2>沒有設(shè)置Timeout參數(shù)的Thread.join()方法
<3>LockSupport.park()方法
4.限期等待(Timed Waiting):在一定的時(shí)間后會由系統(tǒng)自動喚醒
<1>Thead.sleep()方法
<2>設(shè)置了Timeout參數(shù)的Object.wait()方法
<3>設(shè)置了Timeout參數(shù)的Object.wait()方法
<4>LockSupport.parkNanos()方法
<5>LockSupport.parkUntil()方法
5.阻塞(Blocked):等待獲取排它鎖
這個事件將在另一個線程放棄他的鎖的時(shí)候發(fā)生
喚醒的時(shí)候發(fā)生
6.結(jié)束(Terminated):已終止的線程狀態(tài)缨恒,結(jié)束執(zhí)行
run()完成
主線程main完成
一旦終止,不可復(fù)生