生活生产服务其它并发编程

线程的 run()和 start()区别?

线程的 run()和 start()有什么区别?显示全部

线程的 run()和 start()有什么区别?

收起
参与22

查看其它 3 个回答nkj827的回答

nkj827nkj827项目经理长春长信华天

每个线程都有要执行的任务。线程的任务处理逻辑可以在Tread类的run实例方法中直接实现或通过该方法进行调用,因此 run()相当于线程的任务处理逻辑的入口方法,它由Java虚拟机在运行相应线程时直接调用,而不是由应用代码进行调用。
而start()的 作用 是启动相应的线程。启动一个线程实际是请求Java虚拟机运行相应的线程,而这个线程何时能够运行是由线程调度器决定的。 start()调用结束并不表示相应线程已经开始运行,这个线程可能稍后运行,也可能永远也不会运行。

系统集成 · 2020-04-30
浏览850

回答者

nkj827
nkj82711331
项目经理长春长信华天
擅长领域: 存储灾备服务器

nkj827 最近回答过的问题

回答状态

  • 发布时间:2020-04-30
  • 关注会员:5 人
  • 回答浏览:850
  • X社区推广