MenuThread thread = new MenuThread(i);
(new Thread(thread)).start();
可以用两种不同的方法创建线程。请看一下有关线程创建的oracle文档 创建线程示例的应用程序必须提供将在该线程中运行的代码。有两种方法: Provide a Runnable object. 这个 Runnable 接口定义了一个方法run,用于包含线程中执行的代码。 The Runnable object is passed to the Thread constructor ``` public class HelloRunnable implements Runnable {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new Thread(new HelloRunnable())).start();
}
public class HelloThread extends Thread {
public void run() {
System.out.println("Hello from a thread!");
}
public static void main(String args[]) {
(new HelloThread()).start();
}
}
3条答案
按热度按时间k4ymrczo1#
menuthread正在实现
Runnable
接口。它不是一根线。如果要在不同的线程上运行,请将mythread的示例传递给线程对象hgc7kmma2#
使用
new Thread(thread).start()
.ddrv8njm3#
有问题的代码:
上线创建
MenuThread
哪个实现了Runnable
接口。它仍然不是一根线,因此thread.start();
是非法的。创建线程的正确方法
Runnable
示例可以用两种不同的方法创建线程。请看一下有关线程创建的oracle文档
创建线程示例的应用程序必须提供将在该线程中运行的代码。有两种方法:
Provide a Runnable object.
这个Runnable
接口定义了一个方法run,用于包含线程中执行的代码。The Runnable object is passed to the Thread constructor
```public class HelloRunnable implements Runnable {
}
```
Subclass Thread
. thread类本身实现Runnable
,尽管它的run方法什么也不做。应用程序可以子类化Thread
,提供自己的run实现