从我什么时候花在线程中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的首选方法。您并不是真正专注于线程的行为。您只是给它运行的东西。这意味着作品是个从哲学上讲“更纯净"的路。
在实际的 术语,这意味着您可以实施Runnable
并从另一个班级延伸…您也可以实施Runnable
通过Java 8的lambda表达方式。