一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 代碼分析Java中線程的等待與喚醒

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

2021-06-02 15:46Java教程網(wǎng) Java教程

本篇文章給大家分享了關(guān)于Java中線程的等待與喚醒的知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

我們先來(lái)看一下實(shí)例代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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 {
        // 啟動(dòng)“線程t1”
        system.out.println(thread.currentthread().getname()+" start t1");
        t1.start();
 
        // 主線程等待t1通過(guò)notify()喚醒。
        system.out.println(thread.currentthread().getname()+" wait()");
        t1.wait();
 
        system.out.println(thread.currentthread().getname()+" continue");
      } catch (interruptedexception e) {
        e.printstacktrace();
      }
    }
  }
}

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

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

這里說(shuō)一下wait()與sleep()的區(qū)別,他們的共同點(diǎn)都是讓線程休眠,但是wait()會(huì)釋放對(duì)象同步鎖,而sleep()不會(huì);下面的代碼t1結(jié)束之后才會(huì)運(yùn)行t2;能夠證實(shí)這一點(diǎn);

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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整除時(shí),休眠100毫秒
            if (i%4 == 0)
              thread.sleep(100);
          }
        } catch (interruptedexception e) {
          e.printstacktrace();
        }
      }
    }
  }
}

 

延伸 · 閱讀

精彩推薦
  • Java教程Java中Lambda表達(dá)式的進(jìn)化之路詳解

    Java中Lambda表達(dá)式的進(jìn)化之路詳解

    本文通過(guò)示例大家給大家介紹了Java中Lambda表達(dá)式的進(jìn)化之路,感興趣的的朋友一起看看吧,希望能夠給你帶來(lái)幫助...

    Thales_ZeeWay4512022-03-10
  • Java教程Java基礎(chǔ)知識(shí)匯總

    Java基礎(chǔ)知識(shí)匯總

    這篇文章對(duì)Java編程語(yǔ)言的基礎(chǔ)知識(shí)作了一個(gè)較為全面的匯總,在這里給大家分享一下。需要的朋友可以參考。...

    李子園的夢(mèng)想5212021-01-06
  • Java教程java字符串求并集的方法

    java字符串求并集的方法

    這篇文章主要介紹了java字符串求并集的方法,涉及Java字符串操作中union方法的使用,是Java字符串操作中非常實(shí)用的基本技巧,需要的朋友可以參考下 ...

    shichen20146552019-12-06
  • Java教程每日六道java新手入門面試題,通往自由的道路第二天

    每日六道java新手入門面試題,通往自由的道路第二天

    這篇文章主要為大家分享了最有價(jià)值的6道java面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,對(duì)hashCode方法的設(shè)計(jì)、垃圾收集...

    太子爺哪吒6222021-09-23
  • Java教程java設(shè)計(jì)模式之外觀模式學(xué)習(xí)筆記

    java設(shè)計(jì)模式之外觀模式學(xué)習(xí)筆記

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式之外觀模式學(xué)習(xí)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 ...

    翡青2402020-06-24
  • Java教程淺談javap命令拆解字節(jié)碼文件

    淺談javap命令拆解字節(jié)碼文件

    這篇文章主要介紹了拆解字節(jié)碼文件javap命令,對(duì)反編譯感興趣的同學(xué)可以參考下...

    2048102410422021-09-02
  • Java教程Java源碼解析阻塞隊(duì)列ArrayBlockingQueue介紹

    Java源碼解析阻塞隊(duì)列ArrayBlockingQueue介紹

    今天小編就為大家分享一篇關(guān)于Java源碼解析阻塞隊(duì)列ArrayBlockingQueue介紹,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起...

    李燦輝9012021-06-30
  • Java教程Java之SpringBoot集成ActiveMQ消息中間件案例講解

    Java之SpringBoot集成ActiveMQ消息中間件案例講解

    這篇文章主要介紹了Java之SpringBoot集成ActiveMQ消息中間件案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可...

    愚蠢的土撥鼠~10402021-10-29
主站蜘蛛池模板: 日本韩国推理片免费观看网站 | 千金肉奴隶免费观看 | 99ri在线精品视频在线播放 | yin娃sao货调教情趣用品店 | 爆操女友| 天天色影视综合网 | 好大好深受不了了快进来 | 男女性gif抽搐出入视频 | 午夜影院免费入口 | 护士xxxx| 亚洲无线一二三四区 | 免费大秀视频在线播放 | 800精品国产导航 | 国产特黄一级一片免费 | 国产亚洲精品日韩香蕉网 | 青草青青在线视频观看 | 国产最强大片免费视频 | 免费一区| 99久视频| 青青色综合 | 久久久久999 | 日本在线看| 夫妇交换小说全文阅读 | 午夜亚洲WWW湿好爽 午夜想想爱午夜剧场 | 奇米影视4444 | 精品国产一区二区三区在线观看 | 亚洲色影 | 久久九九有精品国产23百花影院 | 华人亚洲欧美精品国产 | 国产亚洲欧美在线中文bt天堂网 | 日韩在线 在线播放 | 国产精品制服丝袜白丝www | 无码观看AAAAAAAA片 | 国产一卡二卡3卡4卡四卡在线 | 女教师巨大乳孔中文字幕免费 | 色综合久久中文字幕网 | 久久久久久久尹人综合网亚洲 | 国产精品成 | 亚洲欧美日韩精品 | 亚洲精品第一国产综合高清 | 四虎国产精品免费久久麻豆 |