線程可以通過notify,join,LockSupport.park方式進入wating狀態,進入wating狀態的線程等待喚醒(notify或notifyAll)才有機會獲取cpu的時間片段來繼續執行。
線程的 blocked狀態往往是無法進入同步方法/代碼塊來完成的。這是因為無法獲取到與同步方法/代碼塊相關聯的鎖。
與wating狀態相關聯的是等待隊列,與blocked狀態相關的是同步隊列,一個線程由等待隊列遷移到同步隊列時,線程狀態將會由wating轉化為blocked。可以這樣說,blocked狀態是處於wating狀態的線程重新煥發生命力的必由之路。
