实现Runnable接口,和继承Thread类的具体区别?

解决方案 »

  1.   

    如果你用心的话,可以看到 Thread 也是 Runnable 的实现之一!
      

  2.   

    1:线程不是由开发人员创建的,Java 并没有提供创建线程的方法!
    2:Runnable 的实现类只是线程执行的任务,并不是线程本身。
      

  3.   

    一般情况下提倡实现Runnable,因为可以多实现,但是不能多继承,如果你继承了
    Thread那么就不能继承别的类了。
      

  4.   

    一般用实现Runnable这种方式的多。
      

  5.   

    同意3、4楼~Java单继承(撇开Object),如果你的实现线程功能的类还需要继承其他类,那么它不可能同时继承两个类,最好的办法就是使用Runnable接口~
      

  6.   

    一个类实现了runnable接口
    例如 class A implements runnable;
    那么你调用 Thread TA = new Thread(A).start();
               Thread TB = new Thread(A).start();
               Thread TC = new Thread(A).start();
    TA,TB,TC都是调用的A类的run()函数; 而run()函数可以操纵类A的成员变量。相当于三个线程共用资源。
    如果单纯的继承Thread类,再运行。则各个线程没法通过上边的方法共享资源。
      

  7.   

    Runnable是接口,如果一个类继承了Thread类的话,就不能继承其它类,如果实现Runnable接口的话,还可以实现其它接口
      

  8.   

    对的,这是并发的应用,另外Thread也是实现Runnable方法
      

  9.   

    区别,这存在区别么?你有本事实现Runnable而不使用Thread启动一个线程试试?
      

  10.   

    线程 是用来驱动任务的 。  所以其实 把Thread 命名为 Task 更好。无论我们实现Runnable 还是 继承Run
    其实都是实现的一个可以用线程驱动的任务