黑马程序员技术交流社区

标题: 多线程问题 [打印本页]

作者: 秦大忠    时间: 2013-8-27 11:51
标题: 多线程问题
本帖最后由 潘才新 于 2013-9-4 22:03 编辑

在想一个问题,Runable 接口和Thread类到底有什么关系?求详细解答...

作者: 范龙波    时间: 2013-8-27 12:33
1.每一个区别创建线程的方式不同:
第一种:
new Thread(Runable r).start();
第二种:
class MyThread extends Thread{实现run()};
new  MyThread().start();
2.用途不同.
你也可以用孙老的话这么理解"当不需要改变一个线程中除了run()方法之外的方法时,使用方式一"
作者: 嵿級↘莮紸角    时间: 2013-8-27 13:36
本帖最后由 嵿級↘莮紸角 于 2013-8-27 13:39 编辑

java是单继承的
Runnable接口是用来解决一旦类继承了别的类而不能继承Thread类或者继承了Thread类却不能在继承别的类的时候而设计的。关系是他们都是实现多线程的方式,只是Runnable比Thread较灵活而已

作者: 王广亚    时间: 2013-8-27 15:03
这个就牵涉到创建线程的方法之一:
new Thread(Runable r).start();
也就是说在创建一个Thread对象时Thread类的构造函数可以接收实现Runable的类的对象,并可以在开始线程后调用实现Runable类的run方法。
作者: 刘张朋    时间: 2013-8-27 15:16
你去看源码不就知道他们的关系了?
作者: 黄文伯    时间: 2013-9-2 21:56
亲,如问题已解决请将分类的“未解决”改为“已解决”。
以后的问题贴也要及时更改分类哦~
作者: 张慧    时间: 2013-9-3 00:44
可以看下java 源码,API中也写到thread的run()方法的用途:如果该线程是使用独立的 Runnable 运行对象构造的,也就是通过new Thread(Runable r)定义的对象,则调用该 Runnable 对象的 run 方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。







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