0

闲置线程类工作正常。我可以理解它的过程。然后我变了

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 + "--");
        }
    }
}
4

1 回答 1

5

直接调用run一个Thread对象会破坏Thread首先拥有的点。

如果您调用run,则将run在当前执行Thread,作为正常方法。您必须调用上start方法Thread才能run在不同的Thread.

使该线程开始执行;Java 虚拟机调用该线程的 run 方法。

于 2015-01-26T18:40:24.613 回答