public class TestJoin
{
public static void main(String [] args)
{
ThreadA a=new ThreadA();
ThreadB b=new ThreadB(a);
//b.setPriority(10);
b.start();
a.start();
} }
class ThreadB extends Thread
{
ThreadA a;
public ThreadB(ThreadA a)
{
this.a = a;
} public void run()
{
System.out.println("Thread B has started!");
try
{
a.join();
}
catch(InterruptedException e)
{e.printStackTrace();}
System.out.println("Thread B is ended!");
}
}
class ThreadA extends Thread
{
public void run()
{
System.out.println("Thread A has started!");
try{ sleep(300);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("Thread A ends!");
}
}//将main()方法中注释的代码去掉后再运行一次,出来的结果完全不同,为什么?
//我这个是在windows下运行的,跪求答案
{
public static void main(String [] args)
{
ThreadA a=new ThreadA();
ThreadB b=new ThreadB(a);
//b.setPriority(10);
b.start();
a.start();
} }
class ThreadB extends Thread
{
ThreadA a;
public ThreadB(ThreadA a)
{
this.a = a;
} public void run()
{
System.out.println("Thread B has started!");
try
{
a.join();
}
catch(InterruptedException e)
{e.printStackTrace();}
System.out.println("Thread B is ended!");
}
}
class ThreadA extends Thread
{
public void run()
{
System.out.println("Thread A has started!");
try{ sleep(300);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println("Thread A ends!");
}
}//将main()方法中注释的代码去掉后再运行一次,出来的结果完全不同,为什么?
//我这个是在windows下运行的,跪求答案
解决方案 »
- 找高手,看下这个国际期货的即时行情有谁做过?或者公司有这样的东西?请联系我
- 初学java.请问java操作数据库,只能用将连成一个字符串再用execute吗?
- 关于树的遍历,谢谢
- 高手进,与c有关!!!!!!
- 读取字符串的问题?
- 在没有锁的情况下使用wait()的错误原因,欢迎对线程感兴趣的朋友来讨论!
- 新年快乐~~散分也快乐~~
- JList中如何设置多个选项的颜色
- Java编程的时候怎样有效的防止内存泄露?
- jboss3+tomcat支持虚拟主机吗,如果支持需要怎样配置
- 请教logger.info与System.out.print的区别?它们都分别应用在什么情况下?
- 静态与非静态变量的OutOfMemory问题
这一块影响应该不大吧,
不懂,等高手。
http://topic.csdn.net/u/20090211/00/6d78c7e5-560f-4302-a21b-7574178a490a.html?seed=39037960另外,join()方法是会将2个线程合并成一个吗?你是说英文字面解释吗?哪里有这样写?API:public final void join()
throws InterruptedException
等待该线程终止。 抛出:
InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。