Java提供了两个创建Thread类的选项,即通过实现Runnable或扩展Thread类。
我知道可以有很多理由来实现Runnable但不确定将Thread类扩展为创建自己的Thread类的场景?
请您提供一些方案,其中扩展Thread似乎是可行的或更好的选择或有利......
有一个 线程Question,但没有回答我的问题
答案 0 :(得分:2)
几乎没有理由扩展Thread,基本上你想要扩展线程的唯一原因是你要覆盖run()以外的东西,这通常是个坏主意。扩展Thread不常见的原因是因为那时类不能扩展其他任何东西,如果你只是重写run()方法,那么扩展Thread并没有实现Runnable是没有意义的。
答案 1 :(得分:0)
Runnable
是一个只有一个方法run()
的接口,需要由实现接口的类实现。
e.g。
public class MyRunnable implements Runnable {
@Override
public void run() {
//...
}
}
MyRunnable
不是Thread
也不能仅使用该类创建新线程。所以,说 -
Java提供了两个创建Thread类的选项,即通过实现Runnable ...
你可以扩展Thread
课程,但就像@John所说的那样没有任何意义。
但是如果你想在新线程中执行一些代码,那么以下是最好的方法 -
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.start();
t.start()
方法启动一个新线程并在run()
上调用r
方法(MyRunnable
的实例。