<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成人片在线观看| fc2免费人成为视频| 亚洲啪啪免费视频| 一区国严二区亚洲三区| 亚洲一卡2卡三卡4卡有限公司| 亚洲一区中文字幕在线观看| 三年在线观看免费观看完整版中文| 免费人成视频在线观看网站| 日本v片免费一区二区三区| 亚洲AV无码成人网站在线观看| 免费国内精品久久久久影院| 1区1区3区4区产品亚洲| 中文在线观看国语高清免费| 亚洲人成伊人成综合网久久久| 亚洲综合久久精品无码色欲 | 亚洲成av人片在线观看无码不卡| 亚洲天堂一区在线| 日韩吃奶摸下AA片免费观看| 中文字幕精品亚洲无线码一区应用| 国产精品高清视亚洲一区二区| 免费无码又爽又高潮视频 | 免费一级毛suv好看的国产网站 | av大片在线无码免费| 亚洲精品无码激情AV| 亚洲影视自拍揄拍愉拍| 可以免费观看的毛片| 免费中文字幕在线观看| 男女拍拍拍免费视频网站 | 国产亚洲日韩在线三区| 3d成人免费动漫在线观看| 亚洲色欲色欲综合网站| a级在线免费观看| 久久久久亚洲AV无码专区网站| 美女被免费网站在线视频免费| 成人a免费α片在线视频网站| 亚洲国产品综合人成综合网站| 国产免费观看视频|