通过实现 java.lang.Runnable 接口可实现创建多线程
创建多线程步骤
创建一个 Runnable 接口的实现类
在实现类中重写 Runnable 接口的 run 方法,设置线程任务
创建一个 Runnable 接口的实现类对象
创建 Thread 类对象, 构造方法中传递 Runnable 接口的实现类对象
调用 Thread 类中的 start 方法,开启新的线程执行run方法
public class RunnableImpl implements Runnable {
@Override
public void run() {
for (int i = 0; i < 3; i++) {
System.out.println(Thread.currentThread().getName() + "->" + i);
}
}
}
public class Test {
public static void main(String[] args) {
RunnableImpl run = new RunnableImpl();
// 创建 Thread 类对象
Thread t1 = new Thread(run);
t1.start();
}
}
结果:
Thread-0->0
Thread-0->1
Thread-0->2
使用 Runnable 的好处
与继承 Thread 类相比,实现 Runnable 接口有以下好处:
避免了单继承的局限性
一个类只能继承一个类, 类继承了Thread类就不能继承其他的类
实现了Runnable接口,还可以继承其他的类,实现其他的接口
增强了程序的扩展性,降低了程序的耦合性(解耦)
实现Runnable接口的方式,把设置线程任务和开启新线程进行了分离(解耦)
实现类中,重写了run方法: 用来设置线程任务
创建Thread类对象,调用start方法: 用来开启新线程