java執行緒的狀態

2021-08-15 07:00:28 字數 819 閱讀 9277

新建 mythreadinfo 類,列印執行緒物件屬性,**如下:

public

class

mythreadinfo

extends

thread

public

static

void

main

(string args)

}

執行**列印如下:

mythreadinfo 的執行緒例項正在執行任務

mythreadinfo 的執行緒物件

執行緒唯一識別符號:10

執行緒名稱:thread-0

執行緒狀態:new

執行緒優先順序:5

執行緒是乙個物件,它有唯一識別符號 id、名稱、狀態、優先順序等屬性。執行緒只能修改其優先順序和名稱等屬性 ,無法修改 id 、狀態。id 是 jvm 分配的,名字預設也為 thread-xx,xx是一組數字。執行緒初始狀態為 new。

執行緒優先順序的範圍是 1 到 10 ,其中 1 是最低優先順序,10 是最高優先順序。不推薦改變執行緒的優先順序,如果業務需要,自然可以修改執行緒優先順序到最高,或者最低。

執行緒的狀態實現通過 thread.state 常量類實現,有 6 種執行緒狀態:new(新建)、runnnable(可執行)、blocked(阻塞)、waiting(等待)、time waiting (定時等待)和 terminated(終止)。狀態轉換圖如下:

執行緒狀態流程大致如下:

Java執行緒 執行緒狀態

執行緒可以建立6狀態 new 新建立 runnable 可執行 blocked 被阻塞 waiting 等待 timed waiting 計時等待 terminated 被終止 1 新建執行緒 2 可執行執行緒 一旦呼叫start 方法,執行緒就處於runnable狀態,但是卻不必保持執行。執行中的...

java執行緒的狀態

new 狀態是指執行緒剛建立,尚未啟動 runnable 狀態是執行緒正在正常執行中,當然可能會有某種耗時計算 io等待的操作 cpu時間片切換等,這個狀態下發生的等待一般是其他系統資源,而不是鎖,sleep等 blocked 這個狀態下,是在多個執行緒有同步操作的場景,比如正在等待另乙個執行緒的s...

Java 執行緒狀態

乙個執行緒可以處於以下四種狀態 新建 new 當執行緒被建立時,它只會短暫的處於這種狀態.此時它已經分配了必須的系統資源,並執行了初始化.此刻執行緒已經有資格獲得cpu時間了,之後排程器將把這個執行緒 轉變位可執行狀態或阻塞狀態.就緒 runnable 在這種狀態下,只要排程器把時間片分配給執行緒,...