使用 运行() 而不是线程的 start() 会发生什么?
What will happen use run() instead of start() of a thread?
休闲线程 class 工作正常。我能理解它的过程。然后我改了
mc.srart() 到 mc.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 + "--");
}
}
}
直接在 Thread
对象上调用 run
破坏了 Thread
放在首位的意义。
如果你调用run
,那么run
会在当前Thread
执行,作为一个普通的方法。您必须在 Thread
上调用 the start
method 才能让 run
在不同的 Thread
.
中执行
Causes this thread to begin execution; the Java Virtual Machine calls the run method of this thread.
休闲线程 class 工作正常。我能理解它的过程。然后我改了
mc.srart() 到 mc.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 + "--");
}
}
}
直接在 Thread
对象上调用 run
破坏了 Thread
放在首位的意义。
如果你调用run
,那么run
会在当前Thread
执行,作为一个普通的方法。您必须在 Thread
上调用 the start
method 才能让 run
在不同的 Thread
.
Causes this thread to begin execution; the Java Virtual Machine calls the run method of this thread.