线程的join用法

package api.day08;

public class ThreadJoinDemo {

/**
 * @param args
 */
public static boolean iffinsh = false;

public static void main(String[] args) {
	// TODO Auto-generated method stub
	final Thread down = new Thread() {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			System.out.println("开始下载图片...");
			for (int i = 0; i <= 100; i += 10) {
				System.out.println("已下载" + i + "%");
				try {
					Thread.sleep(100);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			System.out.println("图片下载完毕");
			iffinsh = true;
		}
	};
	Thread show = new Thread() {
		public void run() {
			System.out.println("开始下载图片,请稍后...");

			try {
				down.join();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

			if (iffinsh) {
				System.out.println("图片加载完毕!");
			} else {
				System.out.println("图片加载失败!");
			}
		}
	};
	down.start();
	show.start();

	Thread showme1 = new Thread(new Runnable() {

		@Override
		public void run() {
			// TODO Auto-generated method stub

		}
	});
	Thread showme2 = new Thread() {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			super.run();
		}
	};
}

}

猜你喜欢

转载自blog.csdn.net/weixin_43970310/article/details/88321482