色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java - 關于多線程notify的問題

瀏覽:85日期:2023-12-10 15:47:24

問題描述

public class WaitTest { static class ThreadA extends Thread {public ThreadA(String name){ super(name);}@Overridepublic void run() { synchronized (this){ System.out.println(Thread.currentThread().getName()+' call notify()'); //notify();//notify之后 要等到這個代碼塊結束之后才會把鎖讓出去,當然如果在notify之后又有wait,那就會主動把鎖讓出去 try { System.out.println(Thread.currentThread().getName()+' wait'); //wait(); //Thread.sleep(10000); } catch (Exception e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+' after notify'); }} } public static void main(String[] args) throws InterruptedException {ThreadA t1 =new ThreadA('t1');synchronized (t1){ System.out.println(Thread.currentThread().getName()+' start t1'); t1.start(); System.out.println(Thread.currentThread().getName()+' wait'); t1.wait();////System.out.println(Thread.currentThread().getName()+' notify'); // t1.notify(); System.out.println(t1.getName()); System.out.println(Thread.currentThread().getName()+' continue'); //t1.notify();} }}

照理來說 t1.wait() 應該會阻塞主線程,并沒有其他地方notify而去掉t1.start()之后,就能阻塞住了

這是什么道理?編譯器優化?還是synchronized代碼塊內如果不對monitor進行操作,結束主動notify??

問題解答

回答1:

并不是優化其實,跟線程的執行有關的。在java doc中,public final synchronized void join(long millis)這個方法的注釋上面寫著一句話

<p> This implementation uses a loop of {@code this.wait} calls conditioned on {@code this.isAlive}. As a thread terminates the {@code this.notifyAll} method is invoked. It is recommended that applications not use {@code wait}, {@code notify}, or {@code notifyAll} on {@code Thread} instances.

看到加黑體,其實是線程結束之后調用的notifyAll導致wait蘇醒的。并不是什么虛擬機優化導致的。希望能解答你的困惑

標簽: java
相關文章:
主站蜘蛛池模板: 一a一级片 | 特级aaaaaaaaa毛片免费视频 | 97精品国产手机 | 一级毛片aaa| 日韩亚洲一区二区三区 | 国产99久久 | 91成年人 | 国产玖玖在线观看 | 国产成人精品亚洲日本在线观看 | 国产一国产一级毛片视频在线 | 欧美日韩一区二区三区视频在线观看 | 91国内精品久久久久怡红院 | yp国产在线观看 | 女子张开腿让男人桶视频 | 亚洲一区国产 | 国产韩国精品一区二区三区久久 | 成人资源在线 | 欧美精品一二区 | 天干夜天天夜天干天ww | 97在线免费观看视频 | 男人天堂手机在线 | 国产自产v一区二区三区c | 欧美精品区 | 日本阿v精品视频在线观看 日本阿v视频在线观看高清 | 免费观看成人毛片 | 99久久伊人一区二区yy5099 | 欧美xxxwww| 国产小网站 | 久久www免费人成_看片高清 | 色屁屁一区二区三区视频国产 | 日韩欧美国产亚洲 | 在线视频一区二区 | 亚洲人成亚洲精品 | 99热在线获取最新地址 | 在线免费亚洲 | 亚洲国产成a人v在线观看 | 99热在线获取最新地址 | 欧美69精品国产成人 | 性欧美videos俄罗斯 | 久久亚洲在线 | 男人毛片|