Java接口(interface)问题

标签 java interface runnable

我很困惑(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/

相关文章:

java - 从监听器/事件更改 JComponent

java - 对于动态生成的 JNLP,始终显示 "Do you want to run this application?"提示符。有什么办法吗?

JavaFX 在 VSCode 中运行,但带有场景生成器的 JavaFX 给出 "Error: JavaFX runtime components are missing, and are required to run this application"

java - 如何创建一个可以存储队列或堆栈的变量?

android - 单击按钮后如何查看持续时间

java - 如何将java日期类型存储到mysql日期类型?

java - 在java中实例化接口(interface)(Android)

scala - Scala 的 "type"关键字是什么意思?

android - Runnable 可以返回一个值吗?

java - 组合两个 Runnable 对象