作用:
join()方法的作用就是让主线程等待子线程执行结束之后再运行主线程。
public class Father{
public static void main(String[] args){
try {
// 新建“线程t1”
Son t1 = new Son("t1");
// 启动“线程t1”
t1.start();
// 将“线程t1”加入到“主线程main”中,并且“主线程main()会等待它的完成”
t1.join();
System.out.println(Thread.currentThread().getName()+"---finish");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
static class Son extends Thread{
public Son(String name){
super(name);
}
@Override
public void run(){
System.out.println(Thread.currentThread().getName()+"---start");
for(int i=0; i <10000; i++){
// 延时操作
};
System.out.println(Thread.currentThread().getName()+"---finish");
}
}
}
最终执行的结果:
t1---start
t1---finish
main---finish
从上面代码中可以看出,在Father类中通过new来创建了一个Son对象,子线程调用了join()方法之后,主线程被阻塞,等待子线程执行结束之后,主线程继续执行。
|
|