本帖最后由 Chaiber 于 2012-12-10 14:24 编辑
class Demo extends Thread
{
public void run()
{
for(int x=0; x<60;x++)
System.out.println("demo run="+x);
}
}
class ThreadDemo
{
public static void main(String[] args)
{
Demo d = new Demo();
d.start();
for (int x=0;x<60 ;x++ )
System.out.println("Hello World!="+x);
}
}
在开始讲多线程视频当中,有上面一段代码,运行以后主线程和继承Thread会出现交替运行的情况。
但是我有一个问题,如果Demo不集成Thread的话,把d.start();改成d.run();会先循环demo run,执行完毕之后,在运行主函数的循环,这个没有问题,因为先执行的d.run();
可是如果,按现在的代码,我运行了10几次,都是hello world+0先执行,最少执行一次,才会去执行另外一个线程,这是为什么?不应该按照代码的顺序先执行Demo中的循环么?
|
|