public class Test17 { public static void main(String[] args) {
new Thread() {
public void run() {
System.out.println("new Thread begin");
try {
this.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" dead");
};
}.start();
System.out.println(Thread.currentThread().getName()+" dead");
}
}
程序运行挂住了?输出结果如下:
new Thread begin
main dead打算让new Thread等main Thread执行完再执行,为什么会“挂住”了?
{
static Test17 t = new Test17(); public static void main(String[] args)
{
System.out.println(Thread.currentThread().getName() + " dead");
t.start();
try
{
t.join();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
} public void run()
{ System.out.println("new Thread begin"); System.out.println("哈哈 dead");
}}