<ruby id="bdb3f"></ruby>

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

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 線程狀態轉換 ![](https://box.kancloud.cn/aa2738b665d6b3257a9066abb33266b8_960x541.png) ### 新建(New) 創建后尚未啟動。 ### 可運行(Runnable) 可能正在運行,也可能正在等待 CPU 時間片。 包含了操作系統線程狀態中的 運行(Running ) 和 就緒(Ready)。 ### 阻塞(Blocking) 這個狀態下,是在多個線程有同步操作的場景,比如正在等待另一個線程的 synchronized 塊的執行釋放,或者可重入的 synchronized 塊里別人調用 wait() 方法,也就是線程在等待進入臨界區。 阻塞可以分為:等待阻塞,同步阻塞,其他阻塞 ### 無限期等待(Waiting) 等待其它線程顯式地喚醒,否則不會被分配 CPU 時間片。 | 進入方法 | 退出方法 | | --- | --- | | 沒有設置 Timeout 參數的 Object.wait() 方法 | Object.notify() / Object.notifyAll() | | 沒有設置 Timeout 參數的 Thread.join() 方法 | 被調用的線程執行完畢 | | LockSupport.park() 方法 | \- | ### 限期等待(Timed Waiting) 無需等待其它線程顯式地喚醒,在一定時間之后會被系統自動喚醒。 調用 Thread.sleep() 方法使線程進入限期等待狀態時,常常用 “**使一個線程睡眠**” 進行描述。 調用 Object.wait() 方法使線程進入限期等待或者無限期等待時,常常用 “**掛起一個線程**” 進行描述。 **睡眠和掛起**是用來描述**行為**,而**阻塞**和等待用來描述**狀態**。 阻塞和等待的區別在于,阻塞是被動的,它是在等待獲取一個排它鎖。而等待是主動的,通過調用 Thread.sleep() 和 Object.wait() 等方法進入。 | 進入方法 | 退出方法 | | --- | --- | | Thread.sleep() 方法 | 時間結束 | | 設置了 Timeout 參數的 Object.wait() 方法 | 時間結束 / Object.notify() / Object.notifyAll() | | 設置了 Timeout 參數的 Thread.join() 方法 | 時間結束 / 被調用的線程執行完畢 | | LockSupport.parkNanos() 方法 | \- | | LockSupport.parkUntil() 方法 | \- | ### 死亡(Terminated) * 線程因為 run 方法正常退出而自然死亡 * 因為一個沒有捕獲的異常終止了 run 方法而意外死亡
                  <ruby id="bdb3f"></ruby>

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

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看