线程的start和run方法的区别
Posted vingliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程的start和run方法的区别相关的知识,希望对你有一定的参考价值。
回到这个问题,可以用源码的角度去回答,这样会让面试官对有更好的印象
------》如果直接调用run方法的话,所执行的线程是main线程。调用start方法的话,会新建一个子线程,去执行run方法里面的内容。
(这里的话,可以从源码的角度去看,当调用start方法的时候,会调用底层的start0的native方法,通过openjdk去查看的话,我们可以看到它是调用了JVM_ThreadStart的c语音方法,而ThreadStart方法里面调用了 thread_Entry的方法,而这个方法是会创建一个新线程,并且用这个线程去会调用run方法。)
以上是关于线程的start和run方法的区别的主要内容,如果未能解决你的问题,请参考以下文章
java 多线程系列基础篇之start()和run()的区别