在Java中,有三种方式来实现多线程,分别是:
1. 继承Thread类
先看一下Thread类的源码:
从源码可以看出,Thread类本质上是实现了Runnable接口的一个实例,启动线程的唯一方式就是通过Thread类的start()方法,start()方法是个native方法,它会启动一个新的线程,并执行run()方法。用这种方式启动线程,直接用自己的类继承Thread类,并重写他的run()方法就可以启动线程并执行自己定义的run()方法了。
2. 实现Runnable接口
由于Java不支持多继承,如果自己的类已经继承了其他类,那么启动线程就要实现Runnable接口并重写它的run()方法。