Thread start()和run()方法的区别??

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hebsun/article/details/83171699

今天去面试被问蒙圈了。问线程的start()和run()方法有什么区别,我心想这start()方法听名字是线程的启动方法,run()方法就是实现runnable接口或者实现Thread类时覆写的方法,这会有什么区别吗?有可比性吗?工作了8年,第一次听到这问题,真的蒙了。

本着求真务学的态度,回来查一下,莫非是自己见识短浅,孤陋寡闻了?一查网上还是有很多人来比较两个方法的区别的。就如下面这篇写得挺详细。

http://www.runoob.com/note/33934

不查不知道,一查就被气得吐血。启动线程的就是start()方法异步执行,run()方法就是普通方法调用同步执行。

尼玛,用线程你会用run方法运行吗?这俩方法从功能上讲都不一样,有可比性吗?

好好好,小崽子们会玩儿!!!

写此文提示,如果有哪个面试官或者即将成为面试官的人,提问的时候,建议如下问法:

请您说一说线程的start()方法和run()方法。

别加区别,因为俩方法真的没有可比性。

线程几个状态面试的时候,也常被问到。

扫描二维码关注公众号,回复: 4002448 查看本文章

创建态、就绪态、运行态、阻塞态、消亡态

猜你喜欢

转载自blog.csdn.net/hebsun/article/details/83171699