色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JVM線程狀態都有哪幾種

錢淋西2年前104瀏覽0評論

JVM線程狀態都有哪幾種?

[1]新生狀態(New):當一個線程的實例被創建即使用new關鍵字和Thread類或其子類創建一個線程對象后,此時該線程處于新生(new)狀態,處于新生狀態的線程有自己的內存空間,但該線程并沒有運行,此時線程還不是活著的(notalive)。

[2]就緒狀態(Runnable):通過調用線程實例的start()方法來啟動線程使線程進入就緒狀態(runnable);處于就緒狀態的線程已經具備了運行條件,但還沒有被分配到CPU即不一定會被立即執行,此時處于線程就緒隊列,等待系統為其分配CPCU,等待狀態并不是執行狀態;此時線程是活著的(alive)。

[3]運行狀態(Running):一旦獲取CPU(被JVM選中),線程就進入運行(running)狀態,線程的run()方法才開始被執行;在運行狀態的線程執行自己的run()方法中的操作,直到調用其他的方法而終止、或者等待某種資源而阻塞、或者完成任務而死亡;如果在給定的時間片內沒有執行結束,就會被系統給換下來回到線程的等待狀態;此時線程是活著的(alive)。

[4]阻塞狀態(Blocked):通過調用join()、sleep()、wait()或者資源被暫用使線程處于阻塞(blocked)狀態;處于Blocking狀態的線程仍然是活著的(alive)。

[5]死亡狀態(Dead):當一個線程的run()方法運行完畢或被中斷或被異常退出,該線程到達死亡(dead)狀態。此時可能仍然存在一個該Thread的實例對象,當該Thread已經不可能在被作為一個可被獨立執行的線程對待了,線程的獨立的callstack已經被dissolved。一旦某一線程進入Dead狀態,他就再也不能進入一個獨立線程的生命周期了。對于一個處于Dead狀態的線程調用start()方法,會出現一個運行期(runtimeexception)的異常;處于Dead狀態的線程不是活著的(notalive)。

java 線程結束,JVM線程狀態都有哪幾種