美文网首页
java 多线程2-线程中start与run的区别

java 多线程2-线程中start与run的区别

作者: 那钱有着落吗 | 来源:发表于2021-03-03 11:02 被阅读0次

这是个简单的问题,我们可以在代码中自己去重写一个Thread的run方法,然后去调用,发现如果使用 .run()的方式,然后打印当前线程会发现,仍然是主线程在执行,而如果是应start方法调用的话,才会新建一个子线程执行。

我们在从源码层面查看一下:

image.png image.png
image.png

从源码层面我们可以看到使用start方法的时候,程序是新建了一个子线程,然后再调用虚拟机,执行线程的方法。

接下来我们总结一下:

image.png

相关文章

网友评论

      本文标题:java 多线程2-线程中start与run的区别

      本文链接:https://www.haomeiwen.com/subject/futkfltx.html