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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zclove898 高级黑马   /  2011-12-14 00:59  /  2236 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 zclove898 于 2011-12-14 01:46 编辑

    在多线程中,子类中得run方法和对象中得start方法在程序中具体的作用是什么,对象中可以写run();吗?

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 熊明春 于 2011-12-14 01:07 编辑

run()方法的代码代表了线程需要完成的任务,相当与线程的执行体
start()表示启动,启动该线程。
(对象中写run()是指···?)

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
start()是启动一个线程,让该线程处于准备运行状态,还没有运行。而run()是一个线程体,也就是说它里面的代码是线程启动后要执行的。如果只是单纯的运行一个run(),那就只是个普通的方法,没有start()是达不到线程的目的。

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

回复 使用道具 举报
李明 黑马帝 2011-12-14 08:43:05
板凳
创建执行线程有两种方法:
1、继承Thread类,复写run()方法。
创建类对象,调用start()方法,开启线程。对象调用start方法是开启线程,并执行run方法,直接调用run方法,就是普通的方法调用,不开启线程。

2、声明实现Runnable接口,实现run方法
创建类对象,把对象传给new Thread(),调用Thread类的start()方法。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马