我很困惑(java 新手):
在实现Runnable接口(interface)时,必须重写run()方法才能获得线程执行能力。实现此接口(interface)会使您的对象成为 Runnable (?) 类型。如何通过简单地实现 Runnable 接口(interface)来“注入(inject)”线程功能?基本上,当您实例化一个实现 Runnable 的类时,与线程功能相关的是什么?我可能在这里误解了一些基本的 OO 概念。谢谢。
是 JVM 在执行 thread.start() 时“知道”寻找可运行对象吗?
最佳答案
当您创建 Runnable
的实现时,没有任何东西将您的类与 JVM 的线程容量联系起来。 Runnable
接口(interface)的实例就像任何其他接口(interface)的实例,只是另一个实例。
如果你想使用JVM的线程系统,你必须使用一个新的Thread
实例,它会运行run()
方法您的 Runnable
在单独的线程中实现。
所有关于创建新线程的逻辑都由 Thread
类完成。
关于Java接口(interface)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790355/