黑马程序员技术交流社区

标题: 关于线程中的start()方法与run方法 [打印本页]

作者: yesecongcong    时间: 2014-6-17 17:08
标题: 关于线程中的start()方法与run方法
请教各位大神:线程中的start()方法是与run()方法都能运行run()中的程序,run()方法很好理解,但是start()方法是如何实现的,是因为run()方法是构造方法,会优先执行吗?
作者: 来自沙沙的我    时间: 2014-6-17 22:28
这位同学说的东西我有点没明白的感觉。

首先run方法是用来放入需要进行线程运算的代码块用的,至于start方法并不是自己所建类中的方法,而是线程中的方法,也就是Thread中的方法,将代码写完后,你还要将类放入一个新建的Thread中的。

所以run方法只是用来存代码块用的,start的方法是用来启动线程,并调用run方法进入线程中的。这样明白了吗?
作者: 小坏坏    时间: 2014-6-17 22:30
start()使该线程开始执行,让Java 虚拟机调用该线程的 run 方法;结果是两个线程并发地运行;当前线程调用 start 方法,另一个线程执行 run 方法。
作者: 崔湖尧    时间: 2014-6-17 22:59
如果只是调用run()方法,并不会开启新的线程,仅仅是方法的调用;
调用start()方法,会在新的线程中执行run()方法。




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