众所周知,在Java创建一个新线程有以下两种方法:
public class ThreadA implements Runnable {
public ThreadA(){
//Todo
}
public void run() {
//do Something
}
}
public class ThreadB extends Thread {
public ThreadB() {
//Todo
}
public void run() {
//do Something
}
}
然而,实现Runnable与继承Thread类这两种方式有什么不同?
在此,我建议各位使用implements Runnable方式实现。
原因很简单,在Java语言机制里是不允许多重继承的,使用implements Runnable方式意味着你可以使你自定义的线程类继承于其他类,只要重写run()方法并在其他线程调用start()方法就可以让线程启动。