多線程編程二-線程的生命週期

線程有5個狀態
創建狀態: Thread thread = new Thread();
就緒狀態: thread.start();
運行狀態: CPU調度處於就緒狀態的線程時纔是進入運行狀態
阻塞狀態: 處於運行狀態中的線程由於某種原因,暫時放棄對CPU的使用權,停止執行,此時進入阻塞狀態,直到其進入到就緒狀態,才 有機會再次被CPU調用以進入到運行狀態。根據阻塞產生的原因不同,阻塞狀態又可以分爲三種:
    1.等待阻塞 -- 運行狀態中的線程執行wait()方法,使本線程進入到等待阻塞狀態;
    2.同步阻塞 -- 線程在獲取synchronized同步鎖失敗(因爲鎖被其它線程所佔用),它會進入同步阻塞狀態;
    3.其他阻塞 -- 通過調用線程的sleep()或join()或發出了I/O請求時,線程會進入到阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態
死亡狀態: run方法執行完線程就死亡

部分內容參考文章:https://blog.csdn.net/xiaosheng900523/article/details/82964768

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章