黑马程序员技术交流社区
标题:
线程的启动问题
[打印本页]
作者:
欧阳博
时间:
2012-3-1 17:09
标题:
线程的启动问题
启动一个线程是run()还是start()呢,为什么?,两者有什么区别?
作者:
胡军喜
时间:
2012-3-1 17:15
本帖最后由 胡军喜 于 2012-3-1 17:17 编辑
start()方法是启动(即开辟)一个线程的方法,这并不意味着线程就会立即运行,只是进入了可运行状态。因此线程的启动必须通过此方法。
而run()方法,只是Thread类的一个方法,它本身并不能开辟线程,直接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。。
作者:
泮和顺
时间:
2012-3-1 17:23
启动一个线程是run()还是start()呢,为什么?,两者有什么区别?
启动时用start() 他本身就包括启动线程和run() ,run()只是需要启动线程的代码块而已
作者:
a504079589
时间:
2012-3-1 19:22
start()方法是启动线程 此时被启动的线程没有运行 而是出于可运行和就绪的状态 cpu运行到的时候会自动调用run()方法并开启线程
作者:
陈斌
时间:
2012-3-1 20:53
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行,只是进入了可运行状态。直接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。run()方法可以产生必须退出的标志来停止一个线程。
作者:
冯兵兵
时间:
2012-3-1 21:06
start()使该线程开始执行;Java 虚拟机调用该线程的 run 方法。run方法中存放的是线程要执行代码。
作者:
黄业凌
时间:
2012-3-2 17:20
本帖最后由 黄业凌 于 2012-3-2 17:22 编辑
启动线程中
先看Java API 1.5.0中关于run()方法与start方法的介绍
start.jpg
(40.05 KB, 下载次数: 307)
下载附件
start方法
2012-3-2 17:22 上传
run()方法里存储是内容是被线程执行的内容,是等待start()方法启动线程后调用的
run.jpg
(37.65 KB, 下载次数: 215)
下载附件
run方法
2012-3-2 17:22 上传
start()方法是启动线程,并调用run()方法
作者:
xieguanxiong
时间:
2012-3-3 10:31
start方法。如果使用run方法,只是启动了那个类中的run方法,只有启动start方法,才是启动r线程
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2