java使用runnable接口(Java面试Thread和Runnable的区别)

Hi,大家好,我是Mic,一个工作了14年的程序员和创业者,下面我们就来说一说关于java使用runnable接口?我们一起去了解并探讨一下这个问题吧!

java使用runnable接口(Java面试Thread和Runnable的区别)

java使用runnable接口

Hi,大家好,我是Mic,一个工作了14年的程序员和创业者。

昨天一个工作1年的粉丝出去面试。

遇到这样一个问题:Thread 和 runnable的区别

其实这个问题很简单,但是如果能够按照高手的回答思路去说明,效果会更好

需要高手面试文档(附赠阿里内部十万字面试文档)或者有不懂的技术面试题想咨询的小伙伴可以后台私信【Mic】或者评论区留言

高手:

好的,我认为Thread和Runnable接口的区别有四个。

  1. Thread是一个类,Runnable是接口,因为在Java语言里面的继承特性,接口可以支持多继承,而类只能单一继承。
  2. 所以如果在已经存在继承关系的类里面要实现线程的话,只能实现Runnable接口。
  3. Runnable表示一个线程的顶级接口,Thread类其实是实现了Runnable这个接口,我们在使用的时候都需要实现run方法。
  4. 站在面向对象的思想来说,Runnable相当于一个任务,而Thread才是真正处理的线程,
  5. 所以我们只需要用Runnable去定义一个具体的任务,然后交给Thread去处理就可以了,这样达到了松耦合的设计目的。
  6. 接口表示一种规范或者标准,而实现类表示对这个规范或者标准的实现,所以站在线程的角度来说,Thread才是真正意义上的线程实现。
  7. Runnable表示线程要执行的任务,因此在线程池里面,提交一个任务传递的类型是Runnable。

总的来说,在我看来,Thread只是实现了Runnable接口并做了扩展,所以这两者我认为没什么可比性。

以上就是我对这个问题的理解。

总结

在我看来,有些问题真的是为了面试而面试,可能这个问题本身毫无考察的价值。

但是不专业的面试官太多了,所以我们只能准备充分。

大家记得点赞收藏加关注

需要高手面试文档(附赠大厂内部十万字面试文档)或者有不懂的技术面试题想咨询的小伙伴可以后台私信【Mic】或者评论区留言。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页