No6.等待线程结束(join)和通知(notify)

先看 join例子:

public class JoinMain {
	
	public volatile static int i = 0;
	
	public static class AddThread extends Thread {
		public void run () {
			for(i=0;i<1000000;i++);
		}
	}
	
	public static void main(String[] args) throws InterruptedException {
		AddThread at = new AddThread();
		at.start();
		//如果注释了  join函数  那么得到的i可能是0或者一个非常小的数字。因为AddThread还没开始执行,i的值就已经被输出了。
		//使用了join函数后,表示主线程愿意等待AddThread执行完毕,再执行。
		at.join();
		System.out.println(i);
	}
}


猜你喜欢

转载自blog.csdn.net/shasiqq/article/details/53996406