博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线程的start和run方法的区别
阅读量:6082 次
发布时间:2019-06-20

本文共 327 字,大约阅读时间需要 1 分钟。

回到这个问题,可以用源码的角度去回答,这样会让面试官对有更好的印象

------》如果直接调用run方法的话,所执行的线程是main线程。调用start方法的话,会新建一个子线程,去执行run方法里面的内容。

(这里的话,可以从源码的角度去看,当调用start方法的时候,会调用底层的start0的native方法,通过openjdk去查看的话,我们可以看到它是调用了JVM_ThreadStart的c语音方法,而ThreadStart方法里面调用了 thread_Entry的方法,而这个方法是会创建一个新线程,并且用这个线程去会调用run方法。)

 

 

转载于:https://www.cnblogs.com/vingLiu/p/10663201.html

你可能感兴趣的文章
tcpdump使用
查看>>
查看自己电脑上安装了什么数据库
查看>>
网页布局基础 第三次(浮动布局)
查看>>
为什么网页中上传文件的表单里要加个属性enctype【转载】
查看>>
20+ 个很有用的 jQuery 的 Google 地图插件 (英语)
查看>>
php生产随机数
查看>>
javascript call和apply
查看>>
C#中实现验证码的参考代码
查看>>
ASP.NET使用AspNetPager实现简单的分页功能
查看>>
热词搜索_针对关键词的样式实现步骤
查看>>
python常见报错集合
查看>>
iOS--OCR图片识别
查看>>
Handler和AsyncTask
查看>>
关于ios::sync_with_stdio(false);和 cin.tie(0)加速c++输入输出流
查看>>
浅析微信支付:统一下单接口
查看>>
网络对抗技术_实验一_网络侦查与网络扫描
查看>>
黑板模式分析
查看>>
释放Win8.1 WinSxS冗余更新,微软Dism来解决
查看>>
【BZOJ】2243 [SDOI2011]染色
查看>>
springboot集成springsession利用redis来实现session共享
查看>>