Java-多线程-三种创建线程的方式优缺点对比

Java-多线程-三种创建线程的方式优缺点对比

继承Thread类的方式创建线程

  • 优点:
    • 方便实现,代码简单
  • 缺点:
    • 必须重写run方法
      • run方法不能有返回值
      • run方法不能抛出异常
    • Java的单继承特性,一个类继承了Thread之后就不能再继承自其它类了
    • 资源之间共享的时候,变量必须使用static进行修饰

实现Runnable接口的方式创建线程

  • 优点:
    • 实现接口,线程类就还能继承其它类
    • 线程之间资源共享方便,不用加static进行修饰
  • 缺点:
    • 必须重写run方法
      • run方法不能有返回值
      • run方法不能抛出异常

实现Callable接口的方式创建线程

  • 优点:
    • 实现接口,线程类就还能继承其它类
    • 线程之间资源共享方便,不用加static进行修饰
    • 线程可以有返回值
    • 线程可以抛出异常
  • 缺点:
    • 线程创建比较麻烦,代码比较复杂

Thread类与Runnable之间的关系

  • 从源码可以发现,Thread类也实现了Runnable接口
class Thread implements Runnable {}
posted @ 2021-01-17 16:37  殃奕  阅读(291)  评论(0编辑  收藏  举报