麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

代碼分析Java中線程的等待與喚醒

2024-07-14 08:42:28
字體:
來源:轉載
供稿:網友

我們先來看一下實例代碼:

class ThreadA extends Thread{   public ThreadA(String name) {    super(name);  }   public void run() {    synchronized (this) {      System.out.println(Thread.currentThread().getName()+" call notify()");      notify();    }  }}public class WaitTest {  public static void main(String[] args) {    ThreadA t1 = new ThreadA("t1");    synchronized(t1) {      try {        // 啟動“線程t1”        System.out.println(Thread.currentThread().getName()+" start t1");        t1.start();         // 主線程等待t1通過notify()喚醒。        System.out.println(Thread.currentThread().getName()+" wait()");        t1.wait();         System.out.println(Thread.currentThread().getName()+" continue");      } catch (InterruptedException e) {        e.printStackTrace();      }    }  }}

輸出結果:main start t1 -> main wait() -> t1 call notify() -> main continue

其實調用t1.start(),t1為就緒狀態,只是main方法中,t1被main線程鎖住了,t1.wait()的時候,讓當前線程等待,其實是讓main線程等待了,然后釋放了t1鎖,t1線程執行,打印t1 call notify(),然后喚醒main線程,最后結束;

這里說一下wait()與sleep()的區別,他們的共同點都是讓線程休眠,但是wait()會釋放對象同步鎖,而sleep()不會;下面的代碼t1結束之后才會運行t2;能夠證實這一點;

public class SleepLockTest{   private static Object obj = new Object();  public static void main(String[] args){     ThreadA t1 = new ThreadA("t1");     ThreadA t2 = new ThreadA("t2");     t1.start();     t2.start();  }   static class ThreadA extends Thread{    public ThreadA(String name){       super(name);     }     public void run(){       synchronized (obj) {        try {          for(int i=0; i <10; i++){             System.out.printf("%s: %d/n", this.getName(), i);             // i能被4整除時,休眠100毫秒            if (i%4 == 0)              Thread.sleep(100);          }        } catch (InterruptedException e) {          e.printStackTrace();        }      }    }   } }


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲激情 | 成人福利免费在线观看 | 亚洲小视频在线 | hd日本xxxx| 中国的免费的视频 | 最近日本电影hd免费观看 | 久久999久久| 亚洲日本韩国在线观看 | 精品不卡| 夜添久久精品亚洲国产精品 | 99精彩视频在线观看 | 中文字幕在线观看1 | 国产羞羞视频 | 性爱网站 | 久久影院一区二区三区 | 在线无码 | 国产免费区 | 亚洲精品久久久久久 | 2021国产精品视频 | 九九热精 | 免费国产网站 | 一本色道久久综合亚洲精品图片 | 欧美高清另类自拍视频在线看 | 在线成人亚洲 | 久久人人爽人人爽人人片av高请 | 欧产日产国产精品99 | 久久99亚洲精品久久99果 | 欧美一页 | 免费一级欧美大片视频 | av一道本| 男女羞羞视频在线免费观看 | 色婷婷久久一区二区 | 成年免费大片黄在线观看岛国 | 日本黄色一级视频 | 国产精品视频在 | 91嫩草丨国产丨精品入口 | 一级做a爱片毛片免费 | 欧美18—19sex性hd | 一本精品999爽爽久久久 | 成人福利电影在线观看 | 久久精品一区视频 |