【发布时间】:2014-09-10 15:45:12
【问题描述】:
通过start方法运行线程需要什么?为什么不直接调用run方法呢?
What will happened if combined the code of start() and run()
to make it as single method run()
不要解释这两种方法的区别,我想知道这种情况。
【问题讨论】:
-
@tmarwen 我想知道 start 和 run 方法里面更详细的代码
-
如果没有这种方法,如何启动一个线程?在这种情况下,
run应该被视为“运行此代码[线程启动时]”,而不是“开始运行线程”。 -
@RajavelD 如果您只想查看代码,可以阅读源代码。它们是免费提供的,而且您很可能现在在您的机器上就有源代码。
-
+1 到 @ovunccetin 以获得真正解决问题的唯一答案(即 run() for 是什么,start() for 是什么)。
-
start()方法的代码是 Java 标准库的一部分。您不能“将其与方法 run 结合使用”,因为如果您将start()的代码复制到子类中的run(),标准实现会访问您无法访问的私有方法和字段。看起来您不了解 Java 中Thread的概念和目的。仔细阅读“重复”问题,在询问不可能的事情之前先理解这个概念非常重要。
标签: java multithreading