6. run()和start()方法的区别

2022-10-26 15:24:31 浏览数 (1)

以下代码为例:

代码语言:javascript复制
public class ThreadDemo3 {
     static class MyThread extends Thread{
         @Override
         public void run() {
             System.out.println("线程");
         }
     }

    public static void main(String[] args) {
        Thread t = new MyThread();
        t.run();
        //t.start();
    }
}

两种执行出来的结果都为“线程”

从运行结果来看,好像没什么区别,但其两种调用有本质的区别:

t.run()——这里只是一个普通的方法调用,没有创建新的线程,输出语句是在原线程中执行的 t.start()——这里是要创建一个新的线程,有新的线程来执行输出

0 人点赞