黑马程序员技术交流社区
标题:
在Thread类中能运行线程体的方法是?
[打印本页]
作者:
韩增亮
时间:
2011-9-22 12:35
标题:
在Thread类中能运行线程体的方法是?
在Thread类中能运行线程体的方法是?
作者:
匿名
时间:
2011-9-22 12:45
运行线程体的是run方法,你要覆盖它
运行的时,要调用start
作者:
匿名
时间:
2011-9-22 19:21
启动一个线程是调用start(),使线程就绪状态,以后可以被调用为运行状态。一个线程必需关联一些具体的执行代码,run()方法是该线程所关联的执行代码。
作者:
匿名
时间:
2011-9-22 19:51
线程是通过start()方法启动,然后将执行权交到run()方法中,run()中代码结束,线程也就结束了 .但是如果某个线程对象启动前调用了setDamon(true)方法,那么这个线程就变成了后台线程,会随着主程序的结束而结束。
实现线程有2种方法,一种是通过Thread类实现,一种是通过Runnable接口实现。一般我们在使用中都用第2种
作者:
匿名
时间:
2011-9-22 21:34
run方法本质上是类的一个普通方法,具有其他方法的所有功能。
只是你用对象.start()时系统会自动调用run方法(当然得有对象锁和权限)
作者:
匿名
时间:
2011-9-25 07:02
标题:
那么积极回答问题的我, 为什么很少给分啊,,!! 哎... 我很忧郁啊..
首先建立一个类的对象;
用这个类的对象来创建新线程;
.start(); // 启动线程, 调用run方法;
run方法执行线程, 将需要执行的功能写在run方法中 .
作者:
匿名
时间:
2011-9-25 10:12
标题:
回复 楼主 的帖子
Tread类中只有一个没覆盖的run方法,你可以把想执行的代码添加到run()方法里面,然后执行start(),就可以执行run()方法里面的代码了
run()方法是具体实现多线程的代码区
而start()只是启动run()方法的一个方法
作者:
匿名
时间:
2011-9-25 10:23
覆盖父类的run() 方法, 当run方法退出的时候,线程也就结束了
作者:
匿名
时间:
2011-9-25 19:38
标题:
回复 楼主 的帖子
必须 得 start() 用run()就不是多线程了,以前没注意吃了亏
作者:
匿名
时间:
2011-9-28 15:02
首先创建一个线程有两种方法,一种是从thread类继承,另外一种是实现runnable 接口(一般选后者),但不管哪种方法,都要实现run()方法,然后调用start()方法,线程才能启动!
作者:
匿名
时间:
2011-9-28 15:20
标题:
线程问题
多线程的使用很广泛 ,什么是多线程?多线程就是2个或者2个以上的线程在进程中运行
进程是不能运行的 它是靠线程运行而运行的
比如我们用电驴下载视频,那么肯定是用多线程下载的 电驴已经封装了多线程,多线程的出现是为了提高效率
那么如何定义一个多线程呢?也就是说多线程的实现有几种呢
答案是2种 一种是继承Thread类 第二种是实现Runnable接口 学过面向对象的人 都知道第二种用的最多
java文档中也建议我们使用第二种,哪为什么使用第二种呢?
因为继承在java中是单继承 但可以多实现 选择性更多点
那么我们要使用多线程的代码放在哪里执行呢? 是run方法中,
多线程的生命周期一般分为:被创建----运行---------被冻结------死亡,我这里的描述不是很到位!大概是这个意思
在run方法运行之前 我们要调用start方法!从单词的意义上看的出来是开始的意思
也就是调用start方法 就会让线程处于等待被cpu执行的状态,但什么时候执行,这药看cpu什么时候执行,什么时候执行就什么时候调用run方法!
也就是说start方法让线程有资格被执行 run方法就是cpu正在执行!
就像我们跑步一样 先要做好准备 听到抢响就开始跑
作者:
724681149
时间:
2011-10-15 01:52
线程对象调用.start()启动。就是这么简单。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2