从什么时候开始在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
这两个代码块有什么显着区别吗?
是的:RunnableIMO是首选的工具。您并不是真的专门研究线程的行为。您只是给它一些运行的机会。这意味着合成是从哲学上讲“更纯净”的方式。
RunnableIMO
在实践方面,它意味着你可以实现Runnable从另一个类扩展为好。
Runnable