当类扩展Thread然后通过创建类实例调用run方法。
但是对于runnable接口,我们创建线程实例并将类实例作为参数传递。之后我们通过线程实例调用run方法。我可以更多地了解算法。这意味着为什么我们不能通过类实例调用run方法,即使在runnable接口的实现类中也是如此。
非常感谢提前。
答案 0 :(得分:6)
从技术上讲,您可以调用任何run()
实例的Runnable
方法。它只是不会在一个单独的线程中运行。这就是为什么你将Runnable
实例提供给Thread
的新实例,并在后者上调用start()
。 JVM将启动一个新线程并在该线程上调用run()
实例的Runnable
方法。
Javadoc of class Thread
中也对此进行了解释。