<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            java線程的幾種狀態

            時間:2025-02-28 05:19:41 小花 java語言 我要投稿
            • 相關推薦

            java線程的幾種狀態

              導語:線程,有時被稱為輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。下面是Java線程的介紹,歡迎參考!

              java線程的幾種狀態1

              新建:new一個Thread對象或者其子類對象就是創建一個線程,當一個線程對象被創建,但是沒有開啟,這個時候,

              只是對象線程對象開辟了內存空間和初始化數據。

              就緒:新建的對象調用start方法,就開啟了線程,線程就到了就緒狀態。

              在這個狀態的`線程對象,具有執行資格,沒有執行權。

              運行:當線程對象獲取到了CPU的資源。

              在這個狀態的線程對象,既有執行資格,也有執行權。

              凍結:運行過程中的線程由于某些原因(比如wait,sleep),釋放了執行資格和執行權。

              當然,他們可以回到運行狀態。只不過,不是直接回到。

              而是先回到就緒狀態。

              死亡:當線程對象調用的run方法結束,或者直接調用stop方法,就讓線程對象死亡,在內存中變成了垃圾。

              java線程的幾種狀態2

              先說結論:

              Java線程中一共有6種狀態,分別為:NEW、RUNNABLE、WAITING、TIMED_WAITING、BLOCKED、TERMINATED,其中RUNNABLE包含READY和RUNNING狀態,詳情可見下圖:  

              NEW:new一個Thread對象,但沒有調用start方法前,線程處于初始狀態

              RUNNABLE:在Java中包括兩種狀態,RUNNING和READY

              READY:就緒態,該狀態下的線程已經獲得執行所需的所有資源,只要CPU分配執行權就能運行;所有就緒態的線程存放在就緒隊列中

              RUNNING:獲得cpu時間片,正在執行的線程;由于每個cpu同一時刻只能執行一條線程,因此每個cpu每個時刻只有一條線程運行。

              BLOCKED:阻塞態,當線程請求鎖失敗時,就會進入阻塞態,一旦請求成功就會進入就緒隊列等待cpu調度;所有阻塞態的'線程存放在阻塞隊列中

              WAITING:等待態,當運行中的線程調用wait、join、park函數時,當前線程進入等待態;所有等待線程放入等待隊列;等待狀態的線程需要被其他線程喚醒才能繼續運行;進入等待狀態會釋放cpu時間片,以及資源(一般指鎖)

              TIMED_WAITING:超時等待態,當運行中的線程調用sleep(time)、wait(time)、parkNanos、parkUtil時會進入超時等待態;和等待態的區別就是,超時之后會加入到阻塞隊列中去。

            【java線程的幾種狀態】相關文章:

            Java多線程的定義狀態和屬性08-23

            淺談java中線程的基本概念線程的基本狀態以及狀態之間的關系06-02

            java的多線程09-09

            java多線程08-31

            Java多線程的線程守護例子06-08

            Java線程知識筆記09-17

            java多線程介紹08-23

            java多線程教程11-03

            什么是java主線程08-13

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院