Java多线程编程核心技术(第3版)
上QQ阅读APP看书,第一时间看更新

1.2.5 实现Runnable接口

如果想创建的线程类已经有了一个父类,就不能再继承自Thread类,因为Java不支持多继承,所以需要实现Runnable接口来解决这样的问题。

创建项目t2,继续创建一个实现Runnable接口的MyRunnable类,代码如下:


package myrunnable;

public class MyRunnable implements Runnable {
@Override
public void run() {
    System.out.println("运行中!");
}
}

如何使用这个MyRunnable.java类呢?这就要看Thread.java的构造函数了,如图1-15所示。

图1-15 Thread构造函数

在Thread.java类的8个构造方法中,有5个构造方法可以传递Runnable接口。说明构造方法支持传入一个Runnable接口的对象,运行类代码如下:


public class Run {
public static void main(String[] args) {
    Runnable runnable=new MyRunnable();
    Thread thread=new Thread(runnable);
    thread.start();
    System.out.println("运行结束!");
}

}

运行结果如图1-16所示。

图1-16 运行结果

图1-16所示的运行结果和采用继承Thread类的方法的运行结果没有什么特别之处,输出效果一样:异步执行。