从什么时候开始在Java中使用线程开始,我发现了以下两种编写线程的方法:

使用implements Runnable

public class MyRunnable implements Runnable {
    public void run() {
        //Code
    }
}
//Started with a "new Thread(new MyRunnable()).start()" call


或者,使用extends Thread

public class MyThread extends Thread {
    public MyThread() {
        super("MyThread");
    }
    public void run() {
        //Code
    }
}
//Started with a "new MyThread().start()" call


这两个代码块有什么显着区别吗?

最佳答案

是的:IMO是实现Runnable的首选方法。您并不是真的专门研究线程的行为。您只是给它一些东西来运行。这意味着composition是从理论上讲“更纯净”的方式。

实际上,这意味着您可以实现Runnable并从另一个类进行扩展。

关于java - Java中的“可运行的实现”与“扩展线程”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29444895/

10-13 06:12