start() 和 run()的区别示例
|
|
start() 和 run()相关源码
Thread.java中start()方法的源码如下:
|
|
说明:start()实际上是通过本地方法start0()启动线程的。而start0()会新运行一个线程,新线程会调用run()方法。
|
|
Thread.java中run()的代码如下:
|
|
说明:target是一个Runnable对象。run()就是直接调用Thread线程的Runnable成员的run()方法,并不会新建一个线程。
参考:
https://github.com/xcc3641/hexo_blog/blob/master/source/_posts/Review-Java-Thread-1.md