多线程有两种实现方法,分别是继承Thread类与实现Runnable接口。
继承java.lang.Thread,并重写它的run()方法,将线程的执行主体放入其中。
实现java.lang.Runnable接口,实现它的run()方法,并将线程的执行主体放入其中。
这两种实现方式的区别并不大。继承Thread类的方式实现起来较为简单,但是继承它的类就不能再继承别的类了,因此也就不能继承别的类的有用的方法了。而使用Runnable接口的方式就不存在这个问题了,而且这种实现方式将线程主体和线程对象本身分离开来,逻辑上也较为清晰,所以推荐大家更多地采用这种方式。
继承Thread类实现线程的示例:
public class ThreadTest extends Thread {
public void run() {
// 在这里编写线程执行的主体
// do something
}
}
实现Runnable接口实现多线程的示例:
public class RunnableTest implements Runnable {
public void run() {
// 在这里编写线程执行的主体
// do something
}
}