“实现Runnable”对“延伸线程”

问题:

从什么时候我在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

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

回答:

是的:实施Runnable是IMO的首选方式。你并不是真的专攻线程的行为。你只是给它一些运行。这意味着composition是“更纯净”的方式。
practical的术语中,这意味着您可以实施Runnable并从另一个类扩展。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: “implements Runnable” vs. “extends Thread”

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

42 − = 37