千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > java線程的生命周期和各種狀態(tài)轉(zhuǎn)換

java線程的生命周期和各種狀態(tài)轉(zhuǎn)換

來源:千鋒教育
發(fā)布人:yyy
時間: 2023-06-28 16:06:00 1687939560

  Java線程的生命周期可以分為五個狀態(tài),分別是新建(New)、就緒(Runnable)、運行(Running)、阻塞(Blocked)和終止(Terminated)。

  線程狀態(tài)的轉(zhuǎn)換如下:

  新建(New)狀態(tài)

  在新建線程對象后,該線程對象還沒有被分配 CPU 時間片,不會執(zhí)行任何代碼。此時線程對象處于 New 狀態(tài)。

java線程的生命周期和各種狀態(tài)轉(zhuǎn)換

  線程對象處于 New 狀態(tài)時,它的狀態(tài)可以改變,例如可以調(diào)用 start() 方法啟動線程,使其進入就緒狀態(tài),也可以在新建線程對象時通過調(diào)用 setPriority() 方法設(shè)置線程的優(yōu)先級,或者通過調(diào)用 setName() 方法設(shè)置線程的名稱等等。

  就緒(Runnable)狀態(tài)

  當線程調(diào)用了 start() 方法后,線程對象進入就緒狀態(tài),此時它已經(jīng)分配了 CPU 時間片,并等待系統(tǒng)分配 CPU 時間片開始執(zhí)行線程代碼。處于就緒狀態(tài)的線程不一定能立即得到 CPU 時間片,它們處于等待狀態(tài),直到系統(tǒng)分配到它們所需要的 CPU 時間片。

  處于就緒狀態(tài)的線程通過調(diào)度器來決定哪個線程獲得 CPU 時間片,線程調(diào)度器的調(diào)度算法通常是先進先出(FIFO)。

  運行(Running)狀態(tài)

  當線程獲得了 CPU 時間片后,進入運行狀態(tài),此時線程開始真正執(zhí)行線程代碼。線程代碼中的指令依次執(zhí)行,直到程序執(zhí)行完畢或者執(zhí)行到 sleep()、wait() 等方法時,線程會進入阻塞狀態(tài),直到阻塞條件被解除。

  在運行狀態(tài)下,線程可以執(zhí)行一些耗時操作,例如計算、循環(huán)等等。當線程被分配到的 CPU 時間片用完后,系統(tǒng)會將其轉(zhuǎn)為就緒狀態(tài),等待下一次分配 CPU 時間片。

  阻塞(Blocked)狀態(tài)

java線程的生命周期和各種狀態(tài)轉(zhuǎn)換

  線程在運行時可能會遇到一些阻塞條件,例如等待 I/O、sleep 等操作。當線程執(zhí)行這些操作時,線程會進入阻塞狀態(tài),它會暫停執(zhí)行并且釋放 CPU 時間片,直到阻塞條件被解除。

  在阻塞狀態(tài)下,線程不能執(zhí)行任何代碼,直到阻塞條件被解除時,線程才會轉(zhuǎn)為就緒狀態(tài),等待系統(tǒng)分配 CPU 時間片。

  終止(Terminated)狀態(tài)

  線程可能因為兩個原因進入終止狀態(tài):(1)線程正常執(zhí)行完畢,或者(2)線程出現(xiàn)了未捕獲的異常而意外終止。

  線程進入終止狀態(tài)后,它會釋放所有的資源,并且不能再運行任何代碼。一旦線程進入了終止狀態(tài),就不可能再回到運行狀態(tài)或阻塞狀態(tài)了。

  例如,可以通過調(diào)用 Thread 類的 join() 方法,讓主線程等待子線程執(zhí)行完畢后再終止,以保證線程能夠正常退出。

tags: java線程
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
日本一区二区三区作爱视频 | 综合国产一区二区三区 | 日本中文一二区精品在线 | 香蕉伊蕉伊中文在线观看 | 日韩精品一区二区三区在线观看l | 在线a亚洲看片v电影 |