易百教程

265、使用 Thread 类和 Runnable 接口创建 Thread 的区别?

可以使用两种方式创建线程:

  • 通过扩展 Thread 类
  • 通过实现 Runnable 接口

但是,两种方式之间的主要区别如下:

  • 通过扩展 Thread 类,不能扩展任何其他类,因为 Java 在实现 Runnable 接口时不允许多重继承;还可以扩展其他基类(如果需要)。
  • 通过扩展Thread类,每个线程在实现Runnable接口的同时创建唯一的对象并与之关联;多个线程共享同一个对象
  • Thread 类提供了各种内置方法,例如 getPriority()isAlive 等等,而 Runnable 接口提供了一个方法,即 run()