本文主要是介绍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()方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!