ava執行緒有哪幾種狀態,分別代表什麼意思?

2021-09-05 10:28:19 字數 794 閱讀 9744

執行緒的狀態有以下幾種:
new:新建、初始化

runnable:可執行狀態

blocked:阻塞中

waiting:無限等待中

timed_waiting:有時間限制的等待中

terminated:結束、死亡狀態

第一種狀態:new,我們可以理解為執行緒處於新建、等待啟動的狀態,這種狀態下,執行緒就僅僅是乙個物件

第二種狀態:runnable,中文意思是可執行的,意思就是說我們這個執行緒可以被cpu執行了,但cpu未必就正在執行。當執行緒呼叫start方法,就意味著執行緒進入了runnable狀態(但不僅限於呼叫start方法,執行緒在blocked、wait,timed_waiting狀態下都可以變為runnable狀態)

第三種狀態:blocked,中文翻譯過來為阻塞的意思,只要執行緒去獲取別的執行緒正在使用的資源,就會進入blocked狀態

第四種狀態:waiting,執行緒處於無限等待中,等待什麼?等待共享的資源允許被使用或等待其它執行緒執行完畢。當我們呼叫wait方法notify方法可以進入執行狀態,執行緒則進入了waiting狀態,請注意,wait和notify都是object下的方法

第五種狀態:timed_waiting,非無限等待,而是有確切的等待時間,當執行緒等待了指定的時間,會回歸到runnable或blocked狀態。當我們呼叫sleep(long millis)或者wait(long timeout)後進入timed_waiting

第六種狀態:terminated,終止、結束,你還可以生動的理解為「死亡」,當執行緒執行完畢,則會進入該狀態

Linux中程序有哪幾種狀態

只有在該狀態的程序才可能在cpu上執行。而同一時刻可能有多個程序處於可執行狀態,這些程序的task struct結構 程序控制塊 被放入對應cpu的可執行佇列中 乙個程序最多只能出現在乙個cpu的可執行佇列中 程序排程器的任務就是從各個cpu的可執行佇列中分別選擇乙個程序在該cpu上執行。很多作業系...

acs包括哪幾種 描寫分為哪幾種分別是什麼

描寫方法 是用生動形象的語言把人物 事件 景物具體描繪出來的一種手法,給讀者以身臨其境的感覺。作者一般綜合使用描寫 敘述等方法來塑造形象。描寫按內容分 有人物描寫 環境描寫 人物描寫方法有六種 概括描寫 肖像描寫 語言描寫 行動描寫 動作描寫 心理描寫 細節描寫。景物描寫包括 靜態與動態 客觀與主觀...

vi有哪幾種模式

vi有三種工作模式,分別是 1 命令模式,是啟動vi後進入的工作模式,並可轉換為文字編輯模式和最後行模式 2 文字編輯模式,用於字元編輯 3 最後行模式。vi有三種工作模式 命令模式 文字編輯模式和最後行模式。不同工作模式下的操作方法有所不同。1 命令模式 命令模式是啟動vi後進入的工作模式,並可轉...