有人能解释一下这段代码的作用吗? new Thread(new X()).start();
其余代码:
class X implements Runnable {
X() {}
}
public static void main(String[] arg) {
new Thread(new X()).start();
}
}
最佳答案
这是一个非常简单的示例,它展示了如何创建一个新线程并运行它。当您在 Java 中创建新线程时,您给它们一些事情可做 - “Runnable”。
class X implements Runnable
该接口(interface)只有一个方法 - run()。因此,您创建一个新线程,并在其构造函数中添加一个可运行的线程。
new Thread(new X())
创建新线程后,必须使用 start() 方法启动它。这是它调用可运行对象的 run() 方法的时候。在您的示例中,这在线程构造之后刚刚被链接:
new Thread(new X()).start();
现在,这个示例很不寻常,因为类 X 实际上并未实现 run 方法。但通常情况下,会有额外的部分,因此您的示例将如下所示:
class X implements Runnable {
public void run() {
System.out.println("This is running on a different thread!");
}
public static void main(String[] arg) {
new Thread(new X()).start();
}
}
关于Java多线程: how does thread creation with Runnable interface work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951725/