是否有可能在条件变为假之后立即中断while循环?
while(true){
//Backgroundtask is handling appIsRunning boolean
while (appIsRunning) {
Roboter.movement1(); //while Roboter.movement1 is running appIsRunning changes to false
Roboter.movement2();
}
while (!appIsRunning) {
//wait for hardbutton/backgroundtask to set appIsRunning true
}
}
我不想等到第一个动作完成后,while应该立即断开并关闭Roboter.class。 如果appIsRunning为真,我不想在Roboter.class里面检查......
答案 0 :(得分:0)
打破;条件失败的地方!简单!
答案 1 :(得分:0)
最简洁的方法,无需重新思考您的"架构" (我建议,但取决于你想要实现的目标:
while(true){
while (appIsRunning) {
if(!Roboter.movement1()) { //Hardbutton is pressed to stop application / appIsRunning is false
break;
}
Roboter.movement2();
}
while (!appIsRunning) {
//wait for hardbutton/backgroundtask to set appIsRunning true
}
}
从" movement1()"返回false当你想离开时......
答案 2 :(得分:0)
如果你想完全停止Roboter.movement1()
执行,你应该使用另一个线程并在那里执行:
Thread mover = new Thread() {
@Override
public void run() {
Roboter.movement1();
}
}
mover.start();
当您需要停止时,请使用mover.stop();
小心:使用stop()
可能导致程序错误行为
How do you kill a thread in Java?