类Thread才是Java语言对线程的抽象, Runnable 是对任务的抽象,对业务逻辑的抽象 另外,Thread内部其实是实现了Runnable接口的,是对Runnable的扩展 实现Runnable和继承Thread相比哪个更好? a.从代码的
类Thread才是Java语言对线程的抽象,
Runnable 是对任务的抽象,对业务逻辑的抽象
另外,Thread内部其实是实现了Runnable接口的,是对Runnable的扩展
实现Runnable和继承Thread相比哪个更好?
a.从代码的角度, Java只能单继承但是可以多实现, Runnable比较好
b.从扩展性的角度:
继承方式,线程对象和任务紧紧的耦合在一起
实现方式,线程对象和任务对象是分离的,耦合性就较低,扩展性就较高
适合多个相同的程序代码的线程去处理同一个资源;在这就是可以避免Java中的单继承的限制,增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。线程池只能放入实现Runnable 类线程,不能直接放入继承Thread的类
综上所述: 实现方式比较好