并發(fā)之線程狀態(tài)


線程可以有6種狀態(tài):

  1. New(新創(chuàng)建)
    當(dāng)用new創(chuàng)建一個(gè)線程時(shí),此時(shí)為new狀態(tài)。
  2. Runnable(可運(yùn)行)
    新建的線程調(diào)用start()方法之后,線程變?yōu)榭蛇\(yùn)行狀態(tài),可運(yùn)行狀態(tài)的線程可能在運(yùn)行也可能沒(méi)運(yùn)行,這取決于操作系統(tǒng)給線程提供運(yùn)行的時(shí)間。
  3. 被阻塞(Blocked)
    當(dāng)線程準(zhǔn)備運(yùn)行的時(shí)候,發(fā)現(xiàn)請(qǐng)求的內(nèi)部對(duì)象鎖被其他線程持有,線程將進(jìn)入阻塞狀態(tài)。只有當(dāng)其他線程釋放該鎖,且線程調(diào)度器允許本線程持有它的時(shí)候,線程將轉(zhuǎn)變?yōu)榉亲枞麪顟B(tài)。
  4. 等待(Waiting)
    當(dāng)線程等待另一個(gè)線程通知線程調(diào)度器一個(gè)條件時(shí),他自己進(jìn)入等待狀態(tài)。
  5. 計(jì)時(shí)等待(Timed waiting)
    調(diào)用帶超時(shí)參數(shù)方法的線程將進(jìn)入計(jì)時(shí)等待。此狀態(tài)一直持續(xù)到超時(shí)或者接收到適當(dāng)?shù)耐ㄖ?/li>
  6. 終止(Terminated)
    run方法正常退出而死亡;
    因?yàn)橐粋€(gè)未捕獲的異常終止當(dāng)前的run方法意外死亡;
    可以調(diào)用stop方法殺死線程,此方法不安全,已標(biāo)注為Deprecated,不建議使用。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容