Thread start()和runnable run()之间有什么区别?

Thread start()和runnable run()之间有什么区别?

假设我们有这两个Runnable:

class R1 implements Runnable {
    public void run() { … }
    …}class R2 implements Runnable {
    public void run() { … }
    …}

那么这两者之间有什么区别呢?

public static void main() {
    R1 r1 = new R1();
    R2 r2 = new R2();

    r1.run();
    r2.run();}

这是:

public static void main() {
    R1 r1 = new R1();
    R2 r2 = new R2();
    Thread t1 = new Thread(r1);
    Thread t2 = new Thread(r2);

    t1.start();
    t2.start();}


慕的地10843
浏览 1042回答 3
3回答

慕容森

如果你只是调用run()它直接在调用线程上执行,就像任何其他方法调用一样。Thread.start()需要实际创建一个新线程,以便使Runnable的run方法并行执行。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java