日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Java并發編程的藝術(四)——線程的狀態

Java并發編程的藝術(四)——線程的狀態

來源:程序員人生   發布時間:2017-02-03 15:15:15 閱讀次數:3699次

線程的狀態

初始態:NEW

創建1個Thread對象,但還未調用start()啟動線程時,線程處于初始態。

運行態:RUNNABLE

在Java中,運行態包括就緒態 和 運行態。

  • 就緒態
    • 該狀態下的線程已取得履行所需的所有資源,只要CPU分配履行權就可以運行。
    • 所有就緒態的線程寄存在就緒隊列中。
  • 運行態
    • 取得CPU履行權,正在履行的線程。
    • 由于1個CPU同1時刻只能履行1條線程,因此每一個CPU每一個時刻只有1條運行態的線程。

阻塞態

  • 當1條正在履行的線程要求某1資源失敗時,就會進入阻塞態。
  • 而在Java中,阻塞態專指要求鎖失敗時進入的狀態。
  • 由1個阻塞隊列寄存所有阻塞態的線程。
  • 處于阻塞態的線程會不斷要求資源,1旦要求成功,就會進入就緒隊列,等待履行。

PS:鎖、IO、Socket等都資源。

等待態

  • 當前線程中調用wait、join、park函數時,當前線程就會進入等待態。
  • 也有1個等待隊列寄存所有等待態的線程。
  • 線程處于等待態表示它需要等待其他線程的唆使才能繼續運行。
  • 進入等待態的線程會釋放CPU履行權,并釋放資源(如:鎖)

超時等待態

  • 當運行中的線程調用sleep(time)、wait、join、parkNanos、parkUntil時,就會進入該狀態;
  • 它和等待態1樣,其實不是由于要求不到資源,而是主動進入,并且進入后需要其他線程喚醒;
  • 進入該狀態后釋放CPU履行權 和 占有的資源。
  • 與等待態的區分:到了超時時間后自動進入阻塞隊列,開始競爭鎖。

終止態

線程履行結束后的狀態。

線程狀態轉換圖

線程狀態圖

初始態——>就緒態

當線程對象調用start()方法時就會進入就緒態,若就緒隊列沒有線程,則直接進入運行態。

就緒態——>運行態

由系統調用完成。

就緒態<——運行態

  1. 調用Thread.yield()函數
  2. 由系統調用完成(當線程時間片用完)

運行態——>阻塞態

當線程要求鎖失敗時進入阻塞態。

阻塞態——>就緒態

阻塞隊列中的線程會不斷檢查鎖是不是可用,1旦可用就進入就緒隊列。

運行態——>等待態

  1. 調用Object.wait()方法
    • wait方法必須在同步塊內部;
    • 必須由同步塊的鎖對象調用;
    • 必須由notify方法和wait方法必須由同1個鎖對象調用
  2. 調用Thread.join()方法
  3. 調用LockSupport.park()方法

等待態——>就緒態

某1個線程調用了 鎖對象.notify()方法,并且等待的線程其實不需要鎖

等待態——>阻塞態

鎖對象.notify()方法,并且等待的線程需要鎖同步。

注意點

  • wait()方法會釋放CPU履行權 和 占有的鎖。
  • sleep(long)方法僅釋放CPU使用權,鎖依然占用;線程被放入超時等待隊列,與yield相比,它會使線程較長時間得不到運行。
  • yield()方法僅釋放CPU履行權,鎖依然占用,線程會被放入就緒隊列,會在短時間內再次履行。
  • wait和notify必須配套使用,即必須使用同1把鎖調用;
  • wait和notify必須放在1個同步塊中
  • 調用wait和notify的對象必須是他們所處同步塊的鎖對象。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 九九精品在线视频 | 日日网 | 99久久精品国产免费看不卡 | 日韩影视在线 | 久久新视频| 国产v亚洲v天堂无码 | 欧美一区二区三区电影 | 美女高潮免费视频 | 久久日av| av中文天堂 | 国产a免费 | 欧美成网站 | 一本亚洲 | 天堂91视频| 精品国产免费久久久久久尖叫 | 国产视频a | 日韩国产成人 | 国产成人a亚洲精品 | 久久99精品久久久久久园产越南 | 全部免费毛片在线播放网站 | 精品一区二区三区国产 | 在线看91 | 99成人精品 | 欧美亚洲专区 | 91精品国产99久久久久久红楼 | 国产一二三视频 | 福利视频二区 | 黄色成人免费电影 | 中文字幕一区二区三区在线观看 | 久久九九国产 | 亚洲免费美女视频 | 久久久网| 日韩欧美视频一区二区 | 国产91视频网 | 性高湖久久久久久久久 | 国产在线播放不卡 | 久久精品国产久精国产 | 激情福利视频 | av免费在线播放网站 | 99久久久国产精品免费调教网站 | 日韩久久久久 |