Fallow thread class工作正常。我能理解它的过程。然后我改变了
mc.srart()进入 mc.run(),但没有任何改变,也没有任何错误。
有人可以向我解释一下吗?我们总是可以使用 run()代替 start()吗?
public class Main {
public static void main(String[] args) {
Myclass mc = new Myclass();
mc.start();
}
}
class Myclass extends Thread {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.print(i + "--");
}
}
}
答案 0 :(得分:5)
直接在run
对象上调用Thread
会导致首先出现Thread
。
如果您致电run
,则run
将作为正常方法在当前Thread
中执行。您必须致电Thread
上的the start
method,让其run
执行Thread
。
使该线程开始执行; Java虚拟机调用此线程的run方法。