搜尋
首頁Javajava教程線程的生命週期是什麼

線程的生命週期是什麼

Dec 15, 2018 pm 05:06 PM
java生命週期執行緒

執行緒的生命週期,也就是執行緒狀態有5個階段:新狀態(New)、就緒狀態(Runnable)、運作狀態(Running)、阻塞狀態(Blocked)、死亡狀態(Dead)。

線程的生命週期是什麼

當執行緒被建立並啟動以後,它不是一啟動就進入執行狀態,也不會一直處於執行狀態,而是會經歷5種狀態。這篇文章就給大家線程的生命週期,讓大家了解線程的5種狀態。 【相關影片教學推薦:Java教學

新狀態(New)

當程式使用new關鍵字創建了一個執行緒之後,該執行緒就處於新建狀態。範例:

Thread t = new MyThread();

線程的生命週期是什麼

就緒狀態(Runnable)

呼叫start()方法後,執行緒就緒狀態(Runnable)

呼叫start()方法後,執行緒就緒會處於就緒狀態;此時只能說明此執行緒已經做好了執行的就緒準備,表示可以運行了,但還不是正在執行的執行緒。

運行狀態(Running)

當執行緒獲得到JVM中執行緒調度器的調度時,執行緒就會處於運行狀態,開始執行run()方法的執行緒執行體。

阻塞狀態(Blocked)

這是執行緒仍處於活動狀態但目前沒有資格運行(因為一些原因,暫時放棄對CPU的使用權,停止執行)時的狀態。

執行緒進入阻塞的三種狀態:

1、等待阻塞:

1)、執行緒呼叫wait()方法,使本執行緒進入等待狀態;

2)、呼叫join()方法,使本執行緒進入到另一種等待狀態:等待執行緒終止或逾時的狀態。

2、同步阻塞

執行緒在試圖取得一個同步監視器失敗(被其它執行緒所持有)後,就會進入這種阻塞狀態。

3、其他阻塞

呼叫sleep()方法主動放棄所佔用的CPU資源;或呼叫一個阻塞式IO方法、發出了I/O請求,進入這種阻塞狀態。 說明:被阻塞的執行緒會在適當的時候(阻塞解除後)重新進入就緒狀態,重新等待執行緒調度器再次調度它。

死亡狀態(Dead)

當退出run()方法時,執行緒就會自然死亡,處於終止或死亡狀態,也就結束了生命週期。

######總結:###以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。 ###

以上是線程的生命週期是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器