溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java線程狀態(tài)是什么

發(fā)布時(shí)間:2020-12-16 10:20:13 來源:億速云 閱讀:129 作者:小新 欄目:編程語言

小編給大家分享一下java線程狀態(tài)是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

java線程狀態(tài):1、新建狀態(tài)New;2、就緒狀態(tài)Runnable;3、運(yùn)行狀態(tài)Running;4、阻塞狀態(tài)Blocked;5、死亡狀態(tài)Dead。

java線程狀態(tài):

1. 新建狀態(tài)(New): 線程對(duì)象被創(chuàng)建后,就進(jìn)入了新建狀態(tài)。

例如,Thread thread = new Thread()。

2. 就緒狀態(tài)(Runnable): 也被稱為“可執(zhí)行狀態(tài)”。線程對(duì)象被創(chuàng)建后,其它線程調(diào)用了該對(duì)象的start()方法,從而來啟動(dòng)該線程。例如,thread.start()。處于就緒狀態(tài)的線程,隨時(shí)可能被CPU調(diào)度執(zhí)行。

3. 運(yùn)行狀態(tài)(Running): 線程獲取CPU權(quán)限進(jìn)行執(zhí)行。需要注意的是,線程只能從就緒狀態(tài)進(jìn)入到運(yùn)行狀態(tài)。

4. 阻塞狀態(tài)(Blocked): 阻塞狀態(tài)是線程因?yàn)槟撤N原因放棄CPU使用權(quán),暫時(shí)停止運(yùn)行。直到線程進(jìn)入就緒狀態(tài),才有機(jī)會(huì)轉(zhuǎn)到運(yùn)行狀態(tài)。阻塞的情況分三種:

  • (01) 等待阻塞 -- 通過調(diào)用線程的wait()方法,讓線程等待某工作的完成。

  • (02) 同步阻塞 -- 線程在獲取synchronized同步鎖失敗(因?yàn)殒i被其它線程所占用),它會(huì)進(jìn)入同步阻塞狀態(tài)。

  • (03) 其他阻塞 -- 通過調(diào)用線程的sleep()或join()或發(fā)出了I/O請(qǐng)求時(shí),線程會(huì)進(jìn)入到阻塞狀態(tài)。當(dāng)sleep()狀態(tài)超時(shí)、join()等待線程終止或者超時(shí)、或者I/O處理完畢時(shí),線程重新轉(zhuǎn)入就緒狀態(tài)。

5. 死亡狀態(tài)(Dead): 線程執(zhí)行完了或者因異常退出了run()方法,該線程結(jié)束生命周期。

看完了這篇文章,相信你對(duì)java線程狀態(tài)是什么有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI