A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© diaolinan 中级黑马   /  2014-11-5 21:42  /  1470 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

老师讲的调用t.run()只是单纯的调用run方法,而start是开始线程。请各位帮忙详细讲一下这里的区别
start是怎么调用的。。。谢

9 个回复

倒序浏览
你就知道start是启动线程,然后自动调用run方法代码,就行了,底层只有老师知道,不是现在学习的范围。
回复 使用道具 举报
start()使该线程开始执行;Java 虚拟机调用该线程的 run 方法,应该是系统底层自动调用的吧,具体也不是很清楚
回复 使用道具 举报
如果用run的话,还是单线程,用start才会开启一个新线程!
回复 使用道具 举报
start()是开启线程,run方法中存放的是线程要执行的代码。至于怎么调用是底层cpu来完成的。
回复 使用道具 举报
简单来说,只写run的话仅仅表示线程运行,但是新的线程没开启,所以是由主线程运行的,而用了start以后有两个含义,线程启动,调用run方法运行,所以就有新的线程开启并运行了
回复 使用道具 举报
顶一个!
回复 使用道具 举报
newLife 中级黑马 2014-11-12 13:55:27
8#
{:3_57:}这个问题大家都回答了吧
回复 使用道具 举报
DamonZh 来自手机 中级黑马 2014-11-12 14:32:54
9#
如果想搞明白 看看源码吧
回复 使用道具 举报
chensc 金牌黑马 2014-11-13 19:27:19
10#
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马