线程创建一般有分为两种方式,一种是通过继承Thread来创建,一种是通过实现Runnable,然后传递给Thread或者Executor框架的类来创建。
继承Thread
比如:
public class XXThread extends Thread {
@Override
public void run() {
/**
doSomeThing()
*/
}
}
使用:
new XXThread().start();
实现Runnable
比如:
public class XXRunnable implements Runnable {
public void run() {
/**
doSomeThing()
*/
}
}
使用:
new Thread(new XXRunnable()).start();
建议使用此方式。实现Runnable是使用Command模式来组织的,线程与任务解耦,有更好的扩展性。
后期如果想使用线程池来执行Runnable,而直接继承Thread很难扩展,而使用实现Runnable的方式确可以很方便的替换。