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

解决方案 »

  1.   

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

  2.   

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

  3.   

    继承Thread类  的实例有各自的类变量,
    实现Runnable接口类 的实例共享类变量。