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

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

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

    中文JAVA技術平等自由協(xié)作創(chuàng)造

    Java專題文章博客和開源

    常用鏈接

    統(tǒng)計

    最新評論

    Java實現(xiàn)主線程等待子線程

      本文介紹兩種主線程等待子線程的實現(xiàn)方式,以5個子線程來說明:
      1、使用Thread的join()方法,join()方法會阻塞主線程繼續(xù)向下執(zhí)行。
      2、使用java.util.concurrent中的CountDownLatch,是一個倒數(shù)計數(shù)器。初始化時先設置一個倒數(shù)計數(shù)初始值,每調用一次countDown()方法,倒數(shù)值減一,他的await()方法會阻塞當前進程,直到倒數(shù)至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 好不容易 閱讀(192) 評論(0)  編輯  收藏


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


    網站導航:
     
    PK10開獎 PK10開獎
    主站蜘蛛池模板: 亚洲一区二区三区在线观看精品中文 | 美女露100%胸无遮挡免费观看| 永久在线观看www免费视频| 久久亚洲精品视频| 拍拍拍无挡视频免费观看1000| 久久久久国产亚洲AV麻豆| 好猛好深好爽好硬免费视频| 国产A在亚洲线播放| 国产好大好硬好爽免费不卡| 亚洲av成人无码久久精品| 69视频免费在线观看| 亚洲国产一区在线观看| 免费A级毛片无码免费视| 亚洲国产成人久久精品软件| 午夜无遮挡羞羞漫画免费| 亚洲国产欧美一区二区三区| 中文字幕无码视频手机免费看| 亚洲日本在线电影| 免费国产精品视频| a成人毛片免费观看| 亚洲国产精品综合久久久| 成人免费在线观看网站| 香港经典a毛片免费观看看| 亚洲人成无码网站| 久久久久av无码免费网| 日日摸日日碰夜夜爽亚洲| 亚洲精品99久久久久中文字幕| 女人隐私秘视频黄www免费| 亚洲中字慕日产2020| 国产一区视频在线免费观看 | 免费看片A级毛片免费看| 免费人成在线观看播放a| 亚洲VA成无码人在线观看天堂| www.黄色免费网站| xxxxx做受大片视频免费| 噜噜噜亚洲色成人网站∨| 国产色婷婷精品免费视频| 国产在线观看免费视频软件| 久久狠狠爱亚洲综合影院| jlzzjlzz亚洲乱熟在线播放| 日本人的色道免费网站|