日期:2014-05-20  浏览次数:20688 次

创建线程方法的不解...
创建线程的类,要实现Runnable接口.
但好像,继续Thread类,也可以创建线程.
Thread类是不是实现了Runnable接口,我创建线程是直接实现Runnable接口还是继续Thread类?请问这两者的区别在哪?Thread类的好处在哪?


------解决方案--------------------
如果有一个类是已经继承别的类了,那就只能实现Runnable了。Thread实现了Runnable接口。

但线程最终会运行Thread.Run(), Thread.run()调用自己Runnable成员的run
这意味着,你扩展一个新的Thread类,然后实现了自己的run();
再用一个Runnable去构造你的这个新的Thread类,当线程开始时,你的Runnable.run()不会运行
这在Java的历史上是一个很著名的问题哦?

------解决方案--------------------
两者的区别 在于:
直接继承 Thread 一般是在要修改thread 的情况下才继承的
其他情况 都是 实现Runnable接口
好处有二 :
一,当你还要继承其他 类的时候实现Runnable接口 可以继承 但是当你继承thread的时候 却不能在继承其他的类的 接口 可以实现多个 类只能继承一个这个是第一个好处;
二,嘿嘿 给我忘记了~! 
                              - -#
------解决方案--------------------
继承Thread类 的实例有各自的类变量,
实现Runnable接口类 的实例共享类变量。