在我学习线程的路上,这是按预期工作的
public class Game implements Runnable{
//FIELDS
private Thread t1;
boolean running;
//METHODS
public void start(){
running = true;
t1 = new Thread(this);
t1.start();
}
public void run(){
while (running){
System.out.println("runnin");
try {
Thread.sleep(17);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
然后,当我将线程参数更改为
t1=new Thread (new Game());
程序不再进入运行方法。他们不应该是一样的吗?替换“this”关键字的另一种方法应该是什么?
编辑:我正在从另一个类调用 start 方法。
即使在创建实例后将运行变量设置为 true,它仍然是 false:
public void start(){
t1 = new Thread(new Game());
running = true;
t1.start();
}