![Java多线程编程核心技术(第3版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/745/42637745/b_42637745.jpg)
上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所示。
![](https://epubservercos.yuewen.com/204B22/22139293909121606/epubprivate/OEBPS/Images/1-15.jpg?sign=1739312201-36ySNHirfnZa7M2f61L4HlmDvYj3a6tC-0-41d9b0e4e56cffb6c75f3f6541b7b5ac)
图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所示。
![](https://epubservercos.yuewen.com/204B22/22139293909121606/epubprivate/OEBPS/Images/1-16.jpg?sign=1739312201-SJ6WU6WYLS17THnF7VK8U6pjXiF8tZUu-0-4577b4099505c45af7119792685da1e5)
图1-16 运行结果
图1-16所示的运行结果和采用继承Thread类的方法的运行结果没有什么特别之处,输出效果一样:异步执行。