class NewThread implements Runnable
{
Thread t;
NewThread()
{
t=new Thread(this,"Demo Thread");
System.out.println("Child thread:"+t);
t.start();
}
public void run()
{
try
{
for(int i=5;i>0;i--)
{
System.out.println("Child Thread:"+i);
Thread.sleep(500);
}
}
catch(InterruptedException e)
{
System.out.println("Child interruped.");
}
System.out.println("Exiting child thread.");
}
}
class ThreadDemo
{
public static void main(String []args)
{
new NewThread();
try
{
for(int i=5;i<0;i--)
{
System.out.println("Main Thread:"+i);
Thread.sleep(1000);
}
}
catch(InterruptedException e)
{
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}我预期的结果:
Child thread:Thread[Demo Thread,5,main]
Main Thread:5
Child Thread:5
Child Thread:4
Main thread :4
Child Thread:3
Main thread :3
Child Thread:2
Main thread :2
Child Thread:1
Exiting child thread.
Main thread :1
Main thread exiting.
但是我用JCreator的运行结果却是:
Child thread:Thread[Demo Thread,5,main]
Main thread exiting.
Child Thread:5
Child Thread:4
Child Thread:3
Child Thread:2
Child Thread:1
Exiting child thread.
Press any key to continue...我想知道为什么程序在调用t.start()后,没再返回到main()继续运行呢?应该怎么修改才能得到我预期那样的结果呢?谢谢!!
{
Thread t;
NewThread()
{
t=new Thread(this,"Demo Thread");
System.out.println("Child thread:"+t);
t.start();
}
public void run()
{
try
{
for(int i=5;i>0;i--)
{
System.out.println("Child Thread:"+i);
Thread.sleep(500);
}
}
catch(InterruptedException e)
{
System.out.println("Child interruped.");
}
System.out.println("Exiting child thread.");
}
}
class ThreadDemo
{
public static void main(String []args)
{
new NewThread();
try
{
for(int i=5;i<0;i--)
{
System.out.println("Main Thread:"+i);
Thread.sleep(1000);
}
}
catch(InterruptedException e)
{
System.out.println("Main thread interrupted.");
}
System.out.println("Main thread exiting.");
}
}我预期的结果:
Child thread:Thread[Demo Thread,5,main]
Main Thread:5
Child Thread:5
Child Thread:4
Main thread :4
Child Thread:3
Main thread :3
Child Thread:2
Main thread :2
Child Thread:1
Exiting child thread.
Main thread :1
Main thread exiting.
但是我用JCreator的运行结果却是:
Child thread:Thread[Demo Thread,5,main]
Main thread exiting.
Child Thread:5
Child Thread:4
Child Thread:3
Child Thread:2
Child Thread:1
Exiting child thread.
Press any key to continue...我想知道为什么程序在调用t.start()后,没再返回到main()继续运行呢?应该怎么修改才能得到我预期那样的结果呢?谢谢!!
改大些
for(int i = 1000; i > 0; i--)
{
System.out.println("Main Thread:"+i);
Thread.sleep(1000);
}