Thread 提供的让一个线程等待另一个线程完成的方法:join()方法

public class JoinThread extends Thread
{
 public JoinThread (String name)
 {
  //提供一个有参数的构造器,用于设置该线程的名字
  super(name);
 }
 //重写run()方法,定义线程执行体
 public void run()
 {
  for(int i = 0; i < 10; i++ )
  {
   System.out.println(getName() + " " + i );
  }
 }
 public static void main(String[] args)throws Exception
 {
  //启动子线程
  JoinThread jt1 = new JoinThread ("新线程");
  jt1.start();
  for (int i = 0; i < 40 ;i++ )
  {
   if(i ==20)
   {
    JoinThread jt = new JoinThread("被Join的线程");
    jt.start();
    //main线程调用了jt线程的join()方法,main线程必须等jt执行结束才会向下执行
    jt.join();
   }
   System.out.println(Thread.currentThread().getName()+ " " +i);
  }
 }
}

运行结果:

main 0
新线程 0
新线程 1
main 1
新线程 2
main 2
main 3
main 4
main 5
新线程 3
新线程 4
新线程 5
新线程 6
main 6
main 7
main 8
main 9
main 10
main 11
main 12
main 13
main 14
main 15
main 16
main 17
新线程 7
新线程 8
新线程 9
main 18
main 19
被Join的线程 0
被Join的线程 1
被Join的线程 2
被Join的线程 3
被Join的线程 4
被Join的线程 5
被Join的线程 6
被Join的线程 7
被Join的线程 8
被Join的线程 9
main 20
main 21
main 22
main 23
main 24
main 25
main 26
main 27
main 28
main 29
main 30
main 31
main 32
main 33
main 34
main 35
main 36
main 37
main 38
main 39

Thread 提供的让一个线程等待另一个线程完成的方法:join()方法,布布扣,bubuko.com

Thread 提供的让一个线程等待另一个线程完成的方法:join()方法

上一篇:使用javascript开发的视差滚动效果的云彩 极客标签 - 做最棒的极客知识分享平台


下一篇:paip.指针 引用 c++ java的使用总结.