关闭

J2SE之Join方法

417人阅读 评论(15) 收藏 举报
分类:

看这个例子:


方法在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;	
				}
		}	
	}
	

}


线程是这样运行的:



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




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:99079次
    • 积分:9632
    • 等级:
    • 排名:第2058名
    • 原创:169篇
    • 转载:1篇
    • 译文:0篇
    • 评论:3425条
    博客专栏
    最新评论