Thread和Runnable的关系

1. 简介

Thread是一个类,而Runnable是一个接口。
Thread类实现了Runnable接口,Runnable接口里只有一个抽象的run()方法。说明Runnable不具备多线程的特性。Runnable依赖Thread类的start方法创建一个子线程,再在这个子线程里调用run()方法,才能让Runnable接口具备多线程的特性
Thread和Runnable的关系
Thread和Runnable的关系

2. 使用Thread创建线程

  1. 创建一个自定义类继承Thread类
  2. 重写构造方法
  3. 重写Thread类的run方法,并在方法内部编写业务逻辑
  4. 创建线程
  5. 调用start方法执行线程
    Thread和Runnable的关系
    Thread和Runnable的关系
    Thread和Runnable的关系

3. 使用Runnable创建线程

  1. 创建一个自定义类,实现Runnable接口
  2. 重写构造方法
  3. 重写run方法,在方法内部编写业务逻辑
  4. 创建MyRunnable实例
  5. 创建Thread实例结束,Runnable对象
  6. 使用Thread创建的对象调用run方法启动线程
    Thread和Runnable的关系
    Thread和Runnable的关系
    Thread和Runnable的关系

4. 总结

Thread是实现了Runnable接口的类,使用run支持多线程
因类的单一继承原则,推荐使用Runnable接口