JAVA面试中如何详细区分start()与run()方法?

2026-06-10 12:130阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计857个文字,预计阅读时间需要4分钟。

JAVA面试中如何详细区分start()与run()方法?

问题+面试官:请问启动线程是使用start()方法还是run()方法,可以谈谈吗?应聘者:start()方法。当使用start()方法启动一个线程后,线程进入就绪状态,此时线程所代表的虚拟处理器可以开始执行。这意味这线程已经准备好了执行,但是具体执行时间还取决于系统的调度策略。

问题

面试官:请问启动线程是start()还是run()方法,能谈谈吗?

应聘者:start()方法

当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。但是这并不意味着线程就会立即运行。只有当cpu分配时间片时,这个线程获得时间片时,才开始执行run()方法。start()是方法,它调用run()方法.而run()方法是你必须重写的. run()方法中包含的是线程的主体(真正的逻辑)。

阅读全文

本文共计857个文字,预计阅读时间需要4分钟。

JAVA面试中如何详细区分start()与run()方法?

问题+面试官:请问启动线程是使用start()方法还是run()方法,可以谈谈吗?应聘者:start()方法。当使用start()方法启动一个线程后,线程进入就绪状态,此时线程所代表的虚拟处理器可以开始执行。这意味这线程已经准备好了执行,但是具体执行时间还取决于系统的调度策略。

问题

面试官:请问启动线程是start()还是run()方法,能谈谈吗?

应聘者:start()方法

当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。但是这并不意味着线程就会立即运行。只有当cpu分配时间片时,这个线程获得时间片时,才开始执行run()方法。start()是方法,它调用run()方法.而run()方法是你必须重写的. run()方法中包含的是线程的主体(真正的逻辑)。

阅读全文