Java之 join 等待线程终止

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38225558/article/details/82146356

join : 等待线程终止
  线程一:开始执行,执行过程中暂停,让线程二开始执行,当线程二执行结束后,线程一接着执行
  void join() :等待该线程终止 

ex:

public class Demo {
	public static void main(String[] args) {
		Download d = new Download();
		Show s = new Show(d);//把下载线程对象作为Show的构造方案方法参数
		s.start();
		d.start();
	}
}
//显式图片的线程
class Show extends Thread{
	private Download d;
	
	public Show(Download d) {
		super();
		this.d = d;
	}

	@Override
	public void run() {
		System.out.println("开始显示 ...");
		try {
			//等待下载线程执行结束,自己再继续执行
			d.join();//自己暂停,让d开始执行,d执行结束后,自己继续执行
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		System.out.println("下载完成 ==》显示  ...");
	}
}
//下载图片的线程
class Download extends Thread{
	@Override
	public void run() {
		for(int i = 1;i <= 10;i++){
			System.out.println("下载进度:" + i*10 + "%");
			try {
				Thread.sleep(50);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}

运行结果图:

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/82146356
今日推荐