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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋太原 中级黑马   /  2013-3-19 18:28  /  3121 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Thread.start ()与 Thread.run ()有什么不同?

点评

再次提醒:如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,否则将扣除技术分,谢谢  发表于 2013-3-20 19:25
如果你的问题已经得到解决,请及时将主题改为[已解决],如果还有问题请继续追问,谢谢  发表于 2013-3-20 12:04

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
楼上正解,一个是开启线程,一个是调用方法
回复 使用道具 举报
start();开启线程,并调用run方法,run方法只是对象调用方法,没有开启多多线程。
回复 使用道具 举报
首先,假定楼主所说的Thread是Thread类的一个实例对象,那么Thread.start方法的作用是启动该线程并调用run方法,这样main方法就会有主线程和自己创建的Thread线程
而Thread.run则是直接调用run方法,并未启动线程,这样main方法就只有主线程这一个线程,你可以再run方法中写一条输出语句就可以明确的知道了
回复 使用道具 举报
    run方法是将要执行的线程,换句话说,就是把需要跑的线程代码写在这个run方法中,如果你调用run方法,就跟我们调用普通的方法没什么区别,是主线程调用的,当你调用start方法时才真正开启了通过new Thread()建立的新线程,并且在start方法内部也会帮你调用run方法去执行相应的线程代码。
回复 使用道具 举报
Thread.start () 是开启线程
而Thread.run () 只是用类名调用方法。希望有帮助。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马