<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 同步代碼塊以及同步方法之間的區別和關系 上一篇文章我們是使用了同步代碼塊的方式改進了銀行排隊取號程序,接下來我們把鎖放在方法上試一下: ```java public class TicketWindowRunnable implements Runnable { private int index = 1; private static final int MAX = 50; private final Object MOINTOR = new Object(); @Override public synchronized void run() { while (true) { //(MOINTOR){ if (index >= MAX) break; try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 的號碼是:" + (index++)); //} } } } ``` 運行效果如下: ![](https://img.kancloud.cn/a6/36/a636550bc7f5d886c65dbd59a3e7ec64_960x246.gif) 其實理解起來也很簡單,就是一個線程爭到了run方法的同步鎖,因為一直在方法里,沒退出,所以鎖沒有得到釋放,就一直執行到結束啦,接下來我們來改進代碼: ```java public class TicketWindowRunnable implements Runnable { private int index = 1; private static final int MAX = 50; @Override public synchronized void run() { while (true) { if (ticket()) { break; } } } private synchronized boolean ticket() { if (index > MAX) { return true; } try { Thread.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 的號碼是:" + (index++)); return false; } } ``` 運行效果如下: ![](https://img.kancloud.cn/8b/ad/8badc9854204b9c8caf7e6c09ac5beb3_960x246.gif) 這里就和我們之前同步代碼塊的方式一樣了,所以不是哦那個不方法不好用,而是具體使用什么方式要接合業務場景去使用。不過盡量還是小范圍去加比較好。
                  <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>

                              哎呀哎呀视频在线观看