一个继承了Thread的对象,可以调用run方法,也可以调用start方法,这两者有什么区别呢?

一个继承了Thread的对象,可以调用run方法,也可以调用start方法,这两者有什么区别呢?

run方法是这个类在继承Thread时就必须重写的,所以run方法一定会在这个类中出现,所以调用时也可以进行调用。
但是对于线程来说,默认程序是一个主线程在执行,每一行代码都是从上到下的在执行。如果你直接调用run方法,这和其它的普通对象进行方法调用没有任何区别。
只有使用start方法才是以线程的方式执行,会开启一个子线程,从表现上看就是代码的执行顺序不是按照先后顺序,因为出现了时间片争抢。
有帮助请采纳,还有不懂的可以继续追问~

调用start,那么run会以线程的方式执行
你直接调用run,那不是在主线程里执行run方法吗
这其实就是
Thread t=new Thread(run);
t.Start();

run();
的区别