通过扩展一个Thread类来创建一个Thread
可能重复:
Java:“实现Runnable”与“扩展线程”
Java提供了两个选项来创建一个Thread类,即通过实现Runnable或扩展Thread类。
我知道可以有很多原因来实现一个Runnable,但不知道场景将扩展一个Thread类来创建自己的Thread类吗?
你能否给我提供扩展Thread似乎是可行或更好的选择或有利的方案......
线程上出现了一个问题,但这并没有回答我的问题
几乎没有理由扩展线程,基本上你想要扩展线程的唯一原因是如果你要覆盖run()以外的东西,这通常是一个坏主意。 扩展Thread不常见的原因是因为那么这个类不能扩展其他任何东西,并且如果你只是覆盖run()方法,那么扩展Thread并且不实现Runnable是没有意义的。
Runnable
是只有一个run()
方法的接口,需要由实现该接口的类来实现。
例如
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()
方法启动一个新线程并在r
(它是MyRunnable
一个实例run()
上调用run()
方法。