线程中的join()方法

作用:
  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()方法之后,主线程被阻塞,等待子线程执行结束之后,主线程继续执行。

发布了79 篇原创文章 · 获赞 42 · 访问量 7980

猜你喜欢

转载自blog.csdn.net/qq_43655835/article/details/103234577