新建狀態:new Thread t = new MyThread();線程
就緒狀態:調用線程對象的start方法,線程進入就緒狀態,此時線程已作好準備,等待cpu調度執行;對象
運行狀態:cpu開始調度處於就緒狀態的線程時,才真正進入運行狀態,線程要想進入運行狀態必須先處於就緒狀態;生命週期
阻塞狀態:處於運行狀態中的線程因爲某種緣由,暫時放棄對cpu 的使用權,此時線程阻塞了,直到回到就緒狀態,纔有機會再次被cpu調用進入到運行狀態,阻塞的緣由有以下:
1,等待阻塞,運行狀態中的線程執行wait方法,使本線程進入等待阻塞狀態;同步
2,同步阻塞,線程在獲取synchronize同步鎖失敗,(由於鎖被其餘線程佔用),它會進入同步阻塞狀態;
3,其餘阻塞,經過調用線程的sleep()或join()或者發出了i/o請求時,線程會進入到阻塞狀態,當sleep()狀態超時、
join()等待線程終止或者超時、或者I/O處理完畢時,線程從新轉入就緒狀態。it
死亡狀態:線程執行完了或者因異常退出了run()方法,該線程結束生命週期。請求