<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    中文JAVA技術平等自由協作創造

    Java專題文章博客和開源

    常用鏈接

    統計

    最新評論

    Java實現主線程等待子線程

      本文介紹兩種主線程等待子線程的實現方式,以5個子線程來說明:
      1、使用Thread的join()方法,join()方法會阻塞主線程繼續向下執行。
      2、使用java.util.concurrent中的CountDownLatch,是一個倒數計數器。初始化時先設置一個倒數計數初始值,每調用一次countDown()方法,倒數值減一,他的await()方法會阻塞當前進程,直到倒數至0.
      join方式代碼如下:
      package com.test.thread;
      import java.util.ArrayList;
      import java.util.List;
      public class MyThread extends Thread
      {
      public MyThread(String name)
      {
      this.setName(name);
      }
      @Override
      public void run()
      {
      System.out.println(this.getName() + " staring…");
      System.out.println(this.getName() + " end…");
      }
      /**
      * @param args
      */
      public static void main(String[] args)
      {
      System.out.println("main thread starting…");
      List<MYTHREAD> list = new ArrayList<MYTHREAD>();
      for (int i = 1; i <= 5; i++)
      {
      MyThread my = new MyThread("Thrad " + i);
      my.start();
      list.add(my);
      }
      try
      {
      for (MyThread my : list)
      {
      my.join();
      }
      }
      catch (InterruptedException e)
      {
      e.printStackTrace();
      }
      System.out.println("main thread end…");
      }
      }
      運行結果如下:
      main thread starting…
      Thrad 2 staring…
      Thrad 2 end…
      Thrad 4 staring…
      Thrad 4 end…
      Thrad 1 staring…
      Thrad 1 end…
      Thrad 3 staring…
      Thrad 3 end…
      Thrad 5 staring…
      Thrad 5 end…
      main thread end…
      CountDownLatch方式代碼如下:
      package com.test.thread;
      import java.util.concurrent.CountDownLatch;
      public class MyThread2 extends Thread
      {
      private CountDownLatch count;
      public MyThread2(CountDownLatch count, String name)
      {
      this.count = count;
      this.setName(name);
      }
      @Override
      public void run()
      {
      System.out.println(this.getName() + " staring…");
      System.out.println(this.getName() + " end…");
      this.count.countDown();
      }
      /**
      * @param args
      */
      public static void main(String[] args)
      {
      System.out.println("main thread starting…");
      CountDownLatch count = new CountDownLatch(5);
      for (int i = 1; i <= 5; i++)
      {
      MyThread2 my = new MyThread2(count, "Thread " + i);
      my.start();
      }
      try
      {
      count.await();
      }
      catch (InterruptedException e)
      {
      e.printStackTrace();
      }
      System.out.println("main thread end…");
      }
      }
      運行結果如下:
      main thread starting…
      Thread 2 staring…
      Thread 2 end…
      Thread 4 staring…
      Thread 4 end…
      Thread 1 staring…
      Thread 1 end…
      Thread 3 staring…
      Thread 3 end…
      Thread 5 staring…
      Thread 5 end…
      main thread end…托福答案

    posted on 2014-08-25 22:00 好不容易 閱讀(190) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    PK10開獎 PK10開獎
    主站蜘蛛池模板: 黄网站色成年片大免费高清| 亚洲αⅴ无码乱码在线观看性色| 中文字幕av免费专区| 亚洲精品成人区在线观看| 免费无码婬片aaa直播表情| 亚洲国产精品综合久久一线| 色多多A级毛片免费看| 亚洲午夜久久久久久久久电影网 | 亚洲乱亚洲乱妇无码| 夜夜嘿视频免费看| 亚洲成熟丰满熟妇高潮XXXXX| 国产99视频免费精品是看6| 在线观看亚洲电影| 精品国产亚洲男女在线线电影 | 精品一区二区三区无码免费直播| 免费人成在线观看视频播放| eeuss影院www天堂免费| 亚洲AV无码专区电影在线观看| 91老湿机福利免费体验| 亚洲人成网站色在线观看| 国产精品成人无码免费| 一级做a爱过程免费视| 久久亚洲国产伦理| 一区二区无码免费视频网站| 亚洲精华国产精华精华液| 亚洲一区视频在线播放| 久久久久久成人毛片免费看| 精品日韩99亚洲的在线发布| 国产又大又黑又粗免费视频| 中文在线免费看视频| 亚洲另类古典武侠| 国产又黄又爽又刺激的免费网址| 国产性生大片免费观看性| 亚洲综合网美国十次| 日韩毛片免费在线观看| 中文字幕视频在线免费观看| 33333在线亚洲| 亚洲熟女少妇一区二区| 好吊妞视频免费视频| 青青操免费在线观看| 亚洲欧美日本韩国|