通过扩展一个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()方法。

链接地址: http://www.djcxy.com/p/92075.html

上一篇: Use of creating a Thread by extending a Thread class

下一篇: new Thread(Runnable runnableObj) Vs. extends Thread