6. run()和start()方法的区别 Love The Way You Lie 2022-11-03 05:30 116阅读 0赞 以下代码为例: 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(); } } 两种执行出来的结果都为“线程” ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MTM2MTg5_size_16_color_FFFFFF_t_70] 从运行结果来看,好像没什么区别,但其两种调用有本质的区别: **t.run()**——这里只是一个普通的方法调用,没有创建新的线程,输出语句是在原线程中执行的 **t.start()**——这里是要创建一个新的线程,有新的线程来执行输出 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1MTM2MTg5_size_16_color_FFFFFF_t_70]: /images/20221024/12835fbca58a40db94c8e80c218a2033.png
还没有评论,来说两句吧...