Java 執行緒的5種狀態
Java 執行緒的5種狀態:
執行緒共包括以下 5 種狀態:
1. 新建狀態(New): 執行緒物件被建立後,就進入了新建狀態。例如,Thread thread = new Thread()。
2. 就緒狀態(Runnable): 也被稱為“可執行狀態”。執行緒物件被建立後,其它執行緒呼叫了該物件的start()方法,從而來啟動該執行緒。例如,thread.start()。處於就緒狀態的執行緒,隨時可能被CPU排程執行。
3. 執行狀態(Running): 執行緒獲取CPU許可權進行執行。需要注意的是,執行緒只能從就緒狀態進入到執行狀態。
4. 阻塞狀態(Blocked): 阻塞狀態是執行緒因為某種原因放棄CPU使用權,暫時停止執行。直到執行緒進入就緒狀態,才有機會轉到執行狀態。阻塞的情況分三種:
(01) 等待阻塞 – 通過呼叫執行緒的wait()方法,讓執行緒等待某工作的完成。
(02) 同步阻塞 – 執行緒在獲取synchronized同步鎖失敗(因為鎖被其它執行緒所佔用),它會進入同步阻塞狀態。
(03) 其他阻塞 – 通過呼叫執行緒的sleep()或join()或發出了I/O請求時,執行緒會進入到阻塞狀態。當sleep()狀態超時、join()等待執行緒終止或者超時、或者I/O處理完畢時,執行緒重新轉入就緒狀態。
5. 死亡狀態(Dead): 執行緒執行完了或者因異常退出了run()方法,該執行緒結束生命週期。
相關文章
- 【Java】執行緒的 6 種狀態Java執行緒
- Java執行緒的狀態Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java的六種執行緒狀態及程式碼示例Java執行緒
- java執行緒的狀態+鎖分析Java執行緒
- 執行緒的幾種狀態總結執行緒
- Java執行緒狀態轉換Java執行緒
- 執行緒池的五種狀態及建立執行緒池的幾種方式執行緒
- 執行緒的6種狀態以及轉變執行緒
- 執行緒狀態執行緒
- Java執行緒狀態及切換Java執行緒
- Java執行緒狀態及同步鎖Java執行緒
- java執行緒的五大狀態,阻塞狀態詳解Java執行緒
- 透徹講解,Java執行緒的6種狀態及切換Java執行緒
- JAVA 執行緒狀態及轉化(轉)Java執行緒
- 併發程式設計——Java執行緒的6種狀態及切換程式設計Java執行緒
- 玩轉java多執行緒 之多執行緒基礎 執行緒狀態 及執行緒停止實戰Java執行緒
- ThreadPollExcutor執行緒池的狀態thread執行緒
- 【JAVA併發第二篇】Java執行緒的建立與執行,執行緒狀態與常用方法Java執行緒
- 詳解Java執行緒池的ctl(執行緒池控制狀態)【原始碼分析】Java執行緒原始碼
- 多執行緒的執行緒狀態及相關操作執行緒
- 執行緒狀態和鎖執行緒
- 乾貨:教你如何監控 Java 執行緒池執行狀態Java執行緒
- 深入理解Java多執行緒與併發框(第①篇)——執行緒的狀態Java執行緒
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- Java執行緒生命週期與狀態切換Java執行緒
- 淺談 Java執行緒狀態轉換及控制Java執行緒
- MySQL執行緒狀態詳解MySql執行緒
- jstack判斷執行緒狀態JS執行緒
- java多執行緒5:執行緒間的通訊Java執行緒
- Java併發程式設計序列之執行緒狀態Java程式設計執行緒
- 總算把執行緒六種狀態的轉換說清楚了!執行緒
- java中WAITING狀態的執行緒為啥還會消耗CPUJavaAI執行緒
- java執行緒實現的三種方式以及靜態代理Java執行緒
- 如何使用jstack分析執行緒狀態JS執行緒
- Memcached 多執行緒和狀態機執行緒
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- 一起分析執行緒的狀態及執行緒通訊機制執行緒