您的位置:首页 > 其它

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

2014-03-24 11:26 381 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐