黑马程序员技术交流社区
标题:
多线程Thread与Runnable的问题
[打印本页]
作者:
陈圳
时间:
2013-2-21 22:05
标题:
多线程Thread与Runnable的问题
多线程开始是继承Thread类来实现,后来实现了多继承就不能继承其他的类,出现了局促限,然后用Runnable接口扩展.避免了继承的局限
API文档里显示Thread类也实现了Runnable接口,它为什么要实现Runnable接口呢,它们俩个都可以单独实现多线程功能的.而且Thread应该是在Runnable先出来的,Runnable是为了解决继承局限而改进的.为什么要Runnable解决了问题后,还要让Thread实现它呢?
作者:
何伟
时间:
2013-2-21 22:21
兄台 这些底层的东西 不是我们现在该研究的.你只要知道它是这么回事就ok了,其它的以后在去深究
作者:
许鑫星
时间:
2013-2-21 22:27
我感觉呢。。。Runnable是多线程必须实现的接口,从Thread中分离出来,定义了多线程都必须要实现run方法,既然Thread也是用来实现多线程的,那当然也必须实现Runnable。其实通俗来说,不是他们两个单独实现多线程,而是只有Runnable在实现多线程。
作者:
qq646742615
时间:
2013-2-22 01:57
面向接口编程...以后你会理解,一般java的API里面都会有一些接口或抽象类,同时会有多种实现类,正如List是一个接口,实现这个接口的有很多个类(ArrayList,LinkedList...),适用不同的需求,为了以后的维护简单,我们不能把程序写死,所以一般在定义变量或者定义参数类型还是返回值类型时,尽量使用接口来引用变量,只要是实现了这接口的就行,而不是特定的一个类,所以如果有一个函数需要传进一个Runnable类型的而Thread又没有实现Runnable接口,那岂不是连编译都编译不过去?学了spring的话应该就很容易理解这种做法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2