线程创建的三种方式的比较(继承Thread,Runnable接口,Callable接口)

三种方式比较

重要级别:极高

面试题

继承Tread类和实现Runnable接口的区别?

  1. 两个共同点:都是创建一个异步线程
  2. Thread类是通过继承的方式来实现,而Runnable接口是通过实现的方式
  3. Thread类的子类不能再继承其他类,而Runnable接口的实现类是可以继承其他类
  4. Thread类的实例直接就是一个线程,而Runnable接口的实现类只是定义了线程需要执行的任务
  5. Runnable接口的实现类,可以被多个Thread实例同时使用

实现Runnable接口和实现Callable接口的区别?

  1. Runnable接口是JDK1.1提供的,而Callable接口是JDK1.5之后才提供的
  2. Runnable接口没有返回值,而Callable接口是有返回值
  3. Runnable接口无法处理异常,而Callable接口可以处理异常
  4. Runnable接口所定义的线程是一种异步线程,而Callable接口所定义的线程是一种同步线程
posted @ 2021-06-21 19:33  yekaiIT  阅读(63)  评论(0编辑  收藏  举报