我需要运行一个无限循环,直到用户告诉它中断。例如...
while(true)
{
someFunction();
Thread.sleep(4000);
}
如您所见,我想每 4 秒连续运行一次该功能。但是,当我希望它停止时,如何摆脱循环呢?
提前致谢!
我需要运行一个无限循环,直到用户告诉它中断。例如...
while(true)
{
someFunction();
Thread.sleep(4000);
}
如您所见,我想每 4 秒连续运行一次该功能。但是,当我希望它停止时,如何摆脱循环呢?
提前致谢!
someFunction 可以是布尔值吗?如果是这样
if (someFunction()) break;
你有两个选择,你可以使用break;或在您的 while 循环中添加一个布尔值
1:
while(userWantsToKeppGoing)
{
someFunction();
Thread.sleep(4000);
}
2:
while(true)
{
if(userDoesntWantToKeepGoing) break;
someFunction();
Thread.sleep(4000);
}
当您想停止线程时,在 while 中使用静态 volatile 变量并从其他线程设置它:
while(Someclass.staticVariable)
{
someFunction();
Thread.sleep(4000);
}
从另一个线程打破这个循环
Someclass.staticVariable = false;
您可以使用全局布尔变量作为标志, someFunction() 可以更改,并执行以下操作:
while(globalFlag)
{
someFunction();
Thread.sleep(4000);
}
查看break语句。
看看这个SO q/a。