黑马程序员技术交流社区

标题: 关于多线程中start、与run的区别 [打印本页]

作者: diaolinan    时间: 2014-11-5 21:42
标题: 关于多线程中start、与run的区别
老师讲的调用t.run()只是单纯的调用run方法,而start是开始线程。请各位帮忙详细讲一下这里的区别
start是怎么调用的。。。谢


作者: yangyujoe    时间: 2014-11-5 22:08
你就知道start是启动线程,然后自动调用run方法代码,就行了,底层只有老师知道,不是现在学习的范围。
作者: 飞奔的小马    时间: 2014-11-6 08:39
start()使该线程开始执行;Java 虚拟机调用该线程的 run 方法,应该是系统底层自动调用的吧,具体也不是很清楚
作者: striker    时间: 2014-11-6 08:44
如果用run的话,还是单线程,用start才会开启一个新线程!
作者: 颜仔    时间: 2014-11-7 01:48
start()是开启线程,run方法中存放的是线程要执行的代码。至于怎么调用是底层cpu来完成的。
作者: 暴走的小青春丶    时间: 2014-11-7 16:50
简单来说,只写run的话仅仅表示线程运行,但是新的线程没开启,所以是由主线程运行的,而用了start以后有两个含义,线程启动,调用run方法运行,所以就有新的线程开启并运行了
作者: win_top1    时间: 2014-11-11 23:20
顶一个!
作者: newLife    时间: 2014-11-12 13:55
{:3_57:}这个问题大家都回答了吧
作者: DamonZh    时间: 2014-11-12 14:32
如果想搞明白 看看源码吧
作者: chensc    时间: 2014-11-13 19:27
学习学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2