溫馨提示×

溫馨提示×

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

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

線程5種狀態(tài)

發(fā)布時(shí)間:2020-09-14 01:57:13 來源:網(wǎng)絡(luò) 閱讀:118 作者:森大科技 欄目:編程語言

來自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=396
GPS平臺、網(wǎng)站建設(shè)、軟件開發(fā)、系統(tǒng)運(yùn)維,找森大網(wǎng)絡(luò)科技!
http://cnsendnet.taobao.com

線程的5種狀態(tài)
1、新建狀態(tài)(New):新創(chuàng)建了一個(gè)線程對象。
  2、就緒狀態(tài)(Runnable):線程對象創(chuàng)建后,其他線程調(diào)用了該對象的start()方法。該狀態(tài)的線程位于可運(yùn)行線程池中,變得可運(yùn)行,等待獲取CPU的使用權(quán)。
  3、運(yùn)行狀態(tài)(Running):就緒狀態(tài)的線程獲取了CPU,執(zhí)行程序代碼。
  4、阻塞狀態(tài)(Blocked):阻塞狀態(tài)是線程因?yàn)槟撤N原因放棄CPU使用權(quán),暫時(shí)停止運(yùn)行。直到線程進(jìn)入就緒狀態(tài),才有機(jī)會轉(zhuǎn)到運(yùn)行狀態(tài)。阻塞的情況分三種:
 ?。ㄒ唬⒌却枞哼\(yùn)行的線程執(zhí)行wait()方法,JVM會把該線程放入等待池中。
 ?。ǘ?、同步阻塞:運(yùn)行的線程在獲取對象的同步鎖時(shí),若該同步鎖被別的線程占用,則JVM會把該線程放入鎖池中。
 ?。ㄈ⑵渌枞哼\(yùn)行的線程執(zhí)行sleep()或join()方法,或者發(fā)出了I/O請求時(shí),JVM會把該線程置為阻塞狀態(tài)。當(dāng)sleep()狀態(tài)超時(shí)、join()等待線程終止或者超時(shí)、或者I/O處理完畢時(shí),線程重新轉(zhuǎn)入就緒狀態(tài)。
5、死亡狀態(tài)(Dead):線程執(zhí)行完了或者因異常退出了run()方法,該線程結(jié)束生命周期。
阻塞:線程A等待線程B的數(shù)據(jù),線程B等待線程A的數(shù)據(jù),互相等待,就會陷入阻塞,這也是一種線程阻塞。
阻塞狀態(tài)是正在運(yùn)行的線程遇到某個(gè)特殊情況。例如,延遲、掛起、等待I/O操作完成等。 進(jìn)入阻塞狀態(tài)的線程讓出CPU,并暫時(shí)停止自己的執(zhí)行。線程進(jìn)入阻塞狀態(tài)后,就一直等待,直到引起阻塞的原因被消除,線程又轉(zhuǎn)入就緒狀態(tài),重新進(jìn)入就緒隊(duì)列排隊(duì)。

來自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=396
GPS平臺、網(wǎng)站建設(shè)、軟件開發(fā)、系統(tǒng)運(yùn)維,找森大網(wǎng)絡(luò)科技!
http://cnsendnet.taobao.com

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

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

AI