java 多執行緒 執行緒的生命週期

2021-09-01 23:55:35 字數 474 閱讀 7510

執行緒的生命週期主要分為下面5個狀態:

當建立thread類的乙個例項(物件),繼承thread類,實現runnable介面,呼叫callable介面,此執行緒進入新建狀態(未被啟動)

執行緒已被啟動,執行緒物件建立好之後進入就緒狀態,此時會等待獲取cpu的執行權

獲取到cpu執行權之後,執行緒物件開始執行run()方法

如果執行緒物件在執行過程中遇到了wait方法或者sleep方法,或者被另乙個執行緒所阻塞(suspend方法,resume方法恢復),執行緒將會進入到阻塞狀態。執行緒阻塞後要等待其他條件來觸發(notify或者sleep睡眠時間到了),觸發後會繼續執行

執行緒物件執行結束後或被其它執行緒殺死(stop方法),執行緒就進入死亡狀態

執行緒的生命週期畫圖如下:

java多執行緒 執行緒生命週期

本節目標 了解執行緒的宣告週期 了解執行緒的停止操作 乙個新的執行緒建立之後,通過start 方法進入執行狀態,在執行狀態時可以使用yield 進行執行緒禮讓,但是仍然可以執行,使用wait 方法暫停乙個執行緒。suspend resume stop 都會產生死鎖問題,不建議使用。如果想讓執行緒停止...

JAVA 多執行緒 生命週期

1 新建 當乙個執行緒ticktthread1 thread1 new ticktthread1 視窗1 ticket 被new 出來的時候。執行緒就是乙個新建的狀態。2 就緒狀態 當呼叫了start 方法之後。進入就緒狀態。就緒狀態是什麼狀態 某乙個時刻cpu 只能處理乙個執行緒的事物。把時間片分...

java多執行緒的生命週期

執行緒的生命週期 執行緒的狀態分為5種 1.new 新建 執行緒物件已經被建立,但是還沒有呼叫該例項的start 方法 此時執行緒尚未獲取執行所需的任何系統資源 2.runnable 就緒 執行緒已經呼叫start 方法,可以被排程執行 此時執行緒已經獲取執行所需的系統資源 但是此時的執行緒並不是正...