無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          1.NEW
          至今尚未啟動的線程的狀態。

          2.RUNNABLE
          可運行線程的線程狀態。處于可運行狀態的某一線程正在 Java 虛擬機中運行,但它可能正在等待操作系統中的其他資源,比如處理器。

          3.BLOCKED
          受阻塞并且正在等待監視器鎖的某一線程的線程狀態。處于受阻塞狀態的某一線程正在等待監視器鎖,以便進入一個同步的塊/方法,或者在調用 Object.wait 之后再次進入同步的塊/方法。

          4.WAITING
          某一等待線程的線程狀態。某一線程因為調用下列方法之一而處于等待狀態:
          • 不帶超時值的 Object.wait
          • 不帶超時值的 Thread.join

          LockSupport.park
          處于等待狀態的線程正等待另一個線程,以執行特定操作。 例如,已經在某一對象上調用了 Object.wait() 的線程正等待另一個線程,以便在該對象上調用 Object.notify() 或 Object.notifyAll()。已經調用了 Thread.join() 的線程正在等待指定線程終止。

          5.TIMED_WAITING具有指定等待時間的某一等待線程的線程狀態。某一線程因為調用以下帶有指定正等待時間的方法之一而處于定時等待狀態:
          • Thread.sleep
          • 帶有超時值的 Object.wait
          • 帶有超時值的 Thread.join
          • LockSupport.parkNanos
          • LockSupport.parkUntil

          6.TERMINATED
          已終止線程的線程狀態。線程已經結束執行。

          注意:在給定時間點上,一個線程只能處于一種狀態。這些狀態是虛擬機狀態,它們并沒有反映所有操作系統線程狀態。

          為了展現線程在運行時的狀態及其轉換,我畫了下面這個圖:

          主站蜘蛛池模板: 灵璧县| 恭城| 崇文区| 花垣县| 泗洪县| 东兰县| 班玛县| 乾安县| 象山县| 商水县| 洮南市| 成都市| 黄山市| 昌宁县| 上虞市| 庄河市| 邹平县| 西青区| 普兰店市| 菏泽市| 凌云县| 敖汉旗| 高州市| 增城市| 靖江市| 岫岩| 抚松县| 大连市| 博客| 长顺县| 渝中区| 夹江县| 英山县| 南投市| 长子县| 安多县| 兰溪市| 剑阁县| 延川县| 建瓯市| 丹凤县|