<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                為了解決執行服務的生命周期問題,Executor擴展了ExecutorService接口; ExecutorService的生命周期有三種狀態:運行、關閉和已終止; ### 主要API * shutdown\(\):執行平緩關閉流程 * shutdownNow\(\):立即關閉 * awaitTermination\(\) * invokeAll\(\) #### **shutdown\(\)** 將線程池狀態置為SHUTDOWN,并不會立即停止: * 停止接收外部submit的任務 * 內部正在跑的任務和隊列里等待的任務,會執行完 * 等到第二步完成后,才真正停止 #### **shutdownNow\(\)** 將線程池狀態置為STOP。企圖立即停止,事實上不一定: * 跟shutdown\(\)一樣,先停止接收外部提交的任務 * 忽略隊列里等待的任務 * 嘗試將正在跑的任務interrupt中斷 * 返回未執行的任務列表 > 它試圖終止線程的方法是通過調用Thread.interrupt\(\)方法來實現的,但是大家知道,這種方法的作用有限,如果線程中沒有sleep 、wait、Condition、定時鎖等應用, interrupt\(\)方法是無法中斷當前的線程的。所以,ShutdownNow\(\)并不代表線程池就一定立即就能退出,它也可能必須要等待所有正在執行的任務都執行完成了才能退出。但是大多數時候是能立即退出的 shuntdownNow返回的Runnable對象可能與提交的Runnable對象并不相同;它們可能是被封裝過的已提交的任務; #### awaitTermination\(long timeOut, TimeUnit unit\) 當前線程阻塞,直到 * 等所有已提交的任務(包括正在跑的和隊列中等待的)執行完 * 或者等超時時間到 * 或者線程被中斷,拋出InterruptedException 然后返回true(shutdown請求后所有任務執行完畢)或false(已超時) > shuntdown\(\)和awaitTermination\(\)效果差不多,方法執行之后,都要等到提交的任務全部執行完才停 #### shutdown\(\)&&shutdownNow\(\) shutdownNow\(\)能立即停止線程池,正在跑的和正在等待的任務都停下了。這樣做立即生效,但是風險也比較大; shutdown\(\)只是關閉了提交通道,用submit\(\)是無效的;而內部該怎么跑還是怎么跑,跑完再停 #### shutdown\(\)&&awaitTermination\(\) shutdown\(\)后,不能再提交新的任務進去;但是awaitTermination\(\)后,可以繼續提交。 awaitTermination\(\)是阻塞的,返回結果是線程池是否已停止(true/false);shutdown\(\)不阻塞 【知識點】 * 優雅的關閉,用shutdown\(\) * 想立馬關閉,并得到未執行任務列表,用shutdownNow\(\) * 優雅的關閉,并允許關閉聲明后新任務能提交,用awaitTermination\(\) 關閉功能【從強到弱】依次是:shuntdownNow\(\) &gt; shutdown\(\) &gt; awaitTermination\(\)
                  <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>

                              哎呀哎呀视频在线观看