Thread和Runnable的关系
1. 简介
Thread是一个类,而Runnable是一个接口。
Thread类实现了Runnable接口,Runnable接口里只有一个抽象的run()方法。说明Runnable不具备多线程的特性。Runnable依赖Thread类的start方法创建一个子线程,再在这个子线程里调用run()方法,才能让Runnable接口具备多线程的特性
2. 使用Thread创建线程
- 创建一个自定义类继承Thread类
- 重写构造方法
- 重写Thread类的run方法,并在方法内部编写业务逻辑
- 创建线程
- 调用start方法执行线程
3. 使用Runnable创建线程
- 创建一个自定义类,实现Runnable接口
- 重写构造方法
- 重写run方法,在方法内部编写业务逻辑
- 创建MyRunnable实例
- 创建Thread实例结束,Runnable对象
- 使用Thread创建的对象调用run方法启动线程
4. 总结
Thread是实现了Runnable接口的类,使用run支持多线程
因类的单一继承原则,推荐使用Runnable接口