张静怡

可怕的不是比你强的人,而是比你强的人比你更努力

J2SE之Join方法

看这个例子:


方法在t1.start();时产生一个分支,

执行public void run()

但是t1.join();是把产生的分支合并回来

当一个线程执行完了,才开始,相当于方法调用

所以程序先把子线程运行完,再运行主线程

 

public class TestJoin{
	public static void main(String[] args)
	{
		MyThread2 t1 = new MyThread2("abcde");
		t1.start();
		try{
			t1.join();	
		}
		catch(InterruptedException e){}
		
		for(int i ; i <= 10 ; i ++)
		{
			System.out.println("i am main thread");	
		}
	}
	
	class MyThread2 extends Thread
	{
		MyThreads(String s)
		{
			super(s);	
		}	
	}
	public void run(){
		for (int i ; i <= 10 ; i ++)
		{
				System.out.println("i am"+ getName());
				try{
					sleep(10000);	
				}	
				catch(InterruptedException e){
					return;	
				}
		}	
	}
	

}


线程是这样运行的:



结果是这样的,程序先把子线程运行完,再运行主线程




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zjy15203167987/article/details/53990847
个人分类: ✈Java -----【J2SE】
所属专栏: J2SE
上一篇Axure之交换位置实现
下一篇此主机支持Intel VT-x ,但Intel VT-x 处于禁用状态
想对作者说点什么? 我来说一句

J2SE课件J2SE课件

2009年12月09日 3.67MB 下载

J2SE

u012459917 u012459917

2013-12-14 12:27:41

阅读数:341

没有更多推荐了,返回首页

关闭
关闭