相关疑难解决方法(0)

请解释Thread run()和start()方法的输出

请解释以下代码的输出:

如果我打电话th1.run(),输出是:

EXTENDS RUN>>
RUNNABLE RUN>>
Run Code Online (Sandbox Code Playgroud)

如果我打电话th1.start(),输出是:

RUNNABLE RUN>>
EXTENDS RUN>>
Run Code Online (Sandbox Code Playgroud)

为什么这种不一致?请解释.

class ThreadExample extends Thread{
    public void run() {
        System.out.println("EXTENDS RUN>>");
    }
}

class ThreadExampleRunnable implements Runnable {
    public void run() {
        System.out.println("RUNNABLE RUN>>");
    }
}

class ThreadExampleMain{
    public static void main(String[] args) {
        ThreadExample th1 = new ThreadExample();
        //th1.start(); 
        th1.run();

        ThreadExampleRunnable th2 = new ThreadExampleRunnable();
        th2.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading

9
推荐指数
1
解决办法
6909
查看次数

标签 统计

java ×1

multithreading ×1