作用:
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.printf("%s finish\n", Thread.currentThread().getName()); } catch (InterruptedException e) { e.printStackTrace(); } } static class Son extends Thread{ public Son(String name){ super(name); } @Override public void run(){ System.out.printf("%s start\n", this.getName()); for(int i=0; i <10000; i++){ // 延时操作 }; System.out.printf("%s finish\n", this.getName()); } } }
1 t1 start 2 t1 finish 3 main finish
从上面代码中可以看出,在Father
类中通过new
来创建了一个Son
对象,子线程调用了join()方法之后,主线程被阻塞,等待子线程执行结束之后,主线程继续执行。
原文:https://www.cnblogs.com/realydie/p/11989407.html