有课程:
public class M16
{
public boolean on = true;
void shoot ()
{
System.out.println("Bang");
}
void pullTrigger()
{
while(on) shoot();
}
}
我想在调用pullTrigger()方法后设置我的标志。像这样:
M16 m = new M16();
m.pullTrigger();
Thread.sleep(2000);
m.on = false;
这是一个简单的问题,但我不知道我需要做什么。
答案 0 :(得分:1)
您实际上无法从同一while
中断Thread
。永远不会执行Thread.sleep(2000)
因为m.pullTrigger()
永远运行。您的方案更有可能在多线程设置中发生。有numerous SO topics covering this area,例如this one。