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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 1 Java多線程技能 Thread有8個構造函數;帶ThreadGroup的四種,帶Runnable的兩種,一種空,一種帶字符串; 一個runnable多個線程容易構造出非線程安全情況; println()方法內部是同步的; currentThread()方法返回代碼段正在被哪個線程調用的信息; Java退出線程的3種方法:退出標記、stop、interrupt; 線程sleep的時候interrupt()會拋出異常,并清除停止標記; Thread.stop()會拋出public class ThreadDeath extends Error,可以進行捕獲; interrupt()方法只是在當前線程中設置一個中斷標記; 用yield方法可以讓當前線程把運行的優先級讓給別的線程,構造示例:一個線程進行5萬個數字累加,加上yield方法,會導致整個運行時間變長; setPriority()方法可以設置線程的優先級,構造示例:5萬個數字累加,高優先級的線程執行的時間段; 守護線程setDaemon(true),用戶線程沒有了,守護線程也就結束了,GC就是守護線程,構造示例:守護線程不停的打印,主線程退出,守護線程也不執行了; ### 2 對象及變量的并發訪問 方法內部的私有變量不存在非線程安全問題; synchronized方法是對當前對象進行加鎖,synchronized代碼塊是對某一個對象加鎖; JVM中String的常量池功能,可能導致鎖是一個鎖; 如果鎖是String,鎖對象在線程中改變了,可能導致其他線程異步執行; 如果鎖是對象,對象屬性改變了,鎖不會改變; volatile強制從公共堆棧中獲取變量的值,而不是從線程私有數據棧中獲取變量的值; ### 3 線程間通信 sleep不會釋放鎖; notify()不會釋放鎖,要等synchronized塊執行完畢之后才釋放鎖; wait()會立即釋放鎖; wait的時候interrupt會報InterruptedException異常;
                  <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>

                              哎呀哎呀视频在线观看