Java实现Runnable接口创建多线程
通过继承Thread类,实现多线程,但是,这种方式有一定的局限性,因为,Java中只支持单继承,一个类一旦继承了某个父类,就无法再继承Thread类
比如,学生类Student继承了Person类,就无法通过继承Thread类,创建线程
针对这种情况,Thread类提供了另外一个构造方法Runnable target
其中,Runnable是一个接口,它只有一个run()方法
当通过Thread类的Runnable target构造方法,创建线程对象时,只需为该方法传递一个实现了Runnable接口的实例对象,这样,创建的线程将调用实现了Runnable接口中的,run()方法作为运行代码,而不需要调用Thread类中的run()方法
示例,Example03.java
public class Example03{public static void main(String[] args){// 创建MyThread的实例对象// 创建线程对象// 开启线程,执行线程中的run()方法MyThread myThread=new MyThread();Thread thread=new Thread(myThread);thread.start();while(true){System.out.println("main()方法在运行");}}}class MyThread implements Runnable{// 线程的代码段,当调用start()方法时,线程从此处开始执行public void run(){while(true){System.out.println("MyThread类的run()方法在运行");}}}
编译运行
代码说明
MyThread类,实现了Runnable接口,并重写了Runnable接口中的run()方法
通过,Thread类的构造方法,将MyThread类的实例对象作为参数传入,可以看出,main()方法和run()方法中的打印语句,都执行了