<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ### Sleep sleep就是正在執行的線程主動讓出CPU,CPU去執行其他線程,在sleep指定的時間過后,CPU才會回到這個線程上繼續往下執行,如果當前線程進入了同步鎖,sleep方法并不會釋放鎖,即使當前線程使用sleep方法讓出了CPU,但其他被同步鎖擋住了的線程也無法得到執行 ### 響應終端 Thread.sleep支持響應中斷,并且在發現中斷時提前返回; ``` public class Appliction { public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(() -> { try { TimeUnit.SECONDS.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.err.println(Thread.currentThread().getName() + " canceled==>"); }); thread.start(); TimeUnit.SECONDS.sleep(3); thread.interrupt(); System.err.println(Thread.currentThread().getName() + " end==>"); } } ``` ### 總結 * Thread.sleep\(1000\),1000ms后是否立即執行? 不一定,在未來的1000毫秒內,線程不想再參與到CPU競爭。那么1000毫秒過去之后,這時候也許另外一個線程正在使用CPU,那么這時候操作系統是不會重新分配CPU的,直到那個線程掛起或結束;況且,即使這個時候恰巧輪到操作系統進行CPU 分配,那么當前線程也不一定就是總優先級最高的那個,CPU還是可能被其他線程搶占去 * Thread.sleep\(0\),是否有用? Thread.Sleep\(0\)的作用,就是“觸發操作系統立刻重新進行一次CPU競爭,重新計算優先級”。競爭的結果也許是當前線程仍然獲得CPU控制權,也許會換成別的線程獲得CPU控制權。這也是我們在大循環里面經常會寫一句Thread.sleep\(0\) ,因為這樣就給了其他線程比如Paint線程獲得CPU控制權的權力,這樣界面就不會假死在那里 * wait和sleep區別 > 1. sleep是Thread的方法,wait是Object的方法 > 2. wait會釋放鎖,如果在同步鎖類sleep內不釋放鎖 > 3. sleep是休眠,wait是掛起 > 4. wait喚醒需要用notify或者notifyAll > 5. 而sleep則是休眠一段時間自己就恢復 > 6. wait方法需要在synchronize塊或者synchronize方法里調用,然而sleep不需要 > 7. 如果需要線程停頓,使用sleep;使用wait進行線程間的通信\(implement inter-thread communication use wait method\) > 8. sleep必須捕獲異常,而wait不需要捕獲異常
                  <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>

                              哎呀哎呀视频在线观看