我正在尝试使用可运行的方法创建一个线程。下面的代码
public class NewClass implements Runnable{
public static void main(String[] agrg){
NewClass n =new NewClass();
n.start();
}
void start(){
Thread th=new Thread();
th.start();
}
@Override
public void run() {
System.out.println("Thread");
}
}
在这种覆盖方法中,我应该调用run,但是它没有发生
最佳答案
您的run()
方法属于NewClass
,它不是Thread,而是一个工作线程。
因此,没有人会调用run()
的NewClass
方法
在Java中,当您通过实现Runnable
创建工作程序时,应仅覆盖run()
方法。并将此worker的实例传递给Thread,例如
new Thread(new NewClass()).start();
因此,您可以执行以下操作
public class NewClass implements Runnable{
public static void main(String[] agrg){
NewClass n =new NewClass();
n.start();
}
void start(){
Thread th=new Thread(this);
th.start();
}
@Override
public void run() {
System.out.println("Thread");
}
}