執行緒的5種狀態

2021-07-24 20:22:16 字數 494 閱讀 1550

大體說一下執行緒的5種狀態:新建、就緒、執行、阻塞、死亡。

新建狀態(new): 執行緒剛剛建立,最初始的狀態。

就緒狀態(runnable): 執行緒建立完成後,並且執行的時機已經成熟,確定要執行了,但是還沒執行。(沒有分配到cpu)

執行狀態(running): 線**真正正的獲得了cpu,然後執行相應的操作。(帶啊跑起來了)

阻塞狀態(blocked): 執行緒跑到一半,由於外界發生的變化,在執行到某個地方然後停住不執行了。(由於外界或自己的原因,交出了cpu,但是和就緒不同,這個時候執行緒可以執行的條件並不滿足,所以連就緒都不是,而是一直掛起沒有任何操作。)

死亡狀態(dead): 執行緒已經完成了自己的使命,真正的結束了,並且不再會有該執行緒。

以下為執行緒5種狀態之間的轉換關係圖。執行緒狀態必須嚴格按照以下有向圖所標示的這樣來轉換。

執行緒的5種狀態

參考 1.新建 new 新建立了乙個執行緒物件。2.可執行 runnable 執行緒物件建立後,其他執行緒 比如main執行緒 呼叫了該物件的start 方法。該狀態的執行緒位於可執行執行緒池中,等待被執行緒排程選中,獲取cpu 的使用權 3.執行 running 可執行狀態 runnable 的執...

執行緒的5種狀態詳解

執行緒從建立 執行到結束總是處於下面五個狀態之一 新建狀態 new 就緒狀態 可執行runnable 執行狀態 running 阻塞狀態 blocked 及死亡狀態 dead 1.新建 new 新建立了乙個執行緒物件。2.可執行 runnable 執行緒物件建立後,其他執行緒 比如main執行緒 呼...

多執行緒的5種狀態

多執行緒的5種狀態 新建狀態 就緒狀態 執行狀態 阻塞狀態 死亡狀態 1.新建 新建 new thread new thread 12.準備 準備 等待cpu排程,就緒狀態 thread.start 1 3.執行 執行狀態 cpu開始執行run override public void run 12...