日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一张图弄懂java线程的状态和生命周期

發布時間:2023/12/3 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一张图弄懂java线程的状态和生命周期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自?一張圖弄懂java線程的狀態和生命周期


上圖是一個線程的生命周期狀態流轉圖,很清楚的描繪了一個線程從創建到終止的過程。


這些狀態的枚舉值都定義在java.lang.Thread.State



NEW:毫無疑問表示的是剛創建的線程,還沒有開始啟動。


RUNNABLE: ?表示線程已經觸發start()方式調用,線程正式啟動,線程處于運行中狀態。


BLOCKED:表示線程阻塞,等待獲取鎖,如碰到synchronized、lock等關鍵字等占用臨界區的情況,一旦獲取到鎖就進行RUNNABLE狀態繼續運行。


WAITING:表示線程處于無限制等待狀態,等待一個特殊的事件來重新喚醒,如通過wait()方法進行等待的線程等待一個notify()或者notifyAll()方法,通過join()方法進行等待的線程等待目標線程運行結束而喚醒,一旦通過相關事件喚醒線程,線程就進入了RUNNABLE狀態繼續運行。


TIMED_WAITING:表示線程進入了一個有時限的等待,如sleep(3000),等待3秒后線程重新進行RUNNABLE狀態繼續運行。


TERMINATED:表示線程執行完畢后,進行終止狀態。


需要注意的是,一旦線程通過start方法啟動后就再也不能回到初始NEW狀態,線程終止后也不能再回到RUNNABLE狀態。


總結

以上是生活随笔為你收集整理的一张图弄懂java线程的状态和生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。