java中 thread.start()方法和thread.run()方法有什么区别?
先看代码,当执行start 方法时:;
;
当执行run方法时:
可以看到,start方法 执行的线程为 thread-0,而run方法为main线程。由此可知,start方法才是真正开启一个新线程的方法,run方法并不能开启一个新的线程,run方法就是一个普通的方法。
start方法是调用了 native的 start0方法 感兴趣的可以查找start0是什么;start0底层就是调用的run;