如何等到定时器在 java 停止?
How to wait until timer is stopped in java?
我有一个方法,是调用一个摆动定时器来启动,调用这个方法后,我要等到执行的定时器停止。我试过了
while(timer.isRunning(){}
但它没有用,它只是冻结了我的程序。请帮助我并原谅我糟糕的英语。
你现在正在做的是非常糟糕的做法,因为你强迫你的程序 运行 一个没有任何意义的循环。想象一下计时器永远不会 return,在那种情况下你创建了一个无限循环。
试试 thread.sleep()。在 sleep() 之前启动定时器。如果计时器完成,它将抛出 InterruptedException。更好的是:如果你自然醒来,那么你应该决定是否要再次入睡并继续等待计时器,或者是否要抛出错误/做其他事情。
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
作为解决方案,我使用一个整数来跟踪我的方法的迭代次数。当整数大于某个数时,我就知道时间到了。
我有一个方法,是调用一个摆动定时器来启动,调用这个方法后,我要等到执行的定时器停止。我试过了
while(timer.isRunning(){}
但它没有用,它只是冻结了我的程序。请帮助我并原谅我糟糕的英语。
你现在正在做的是非常糟糕的做法,因为你强迫你的程序 运行 一个没有任何意义的循环。想象一下计时器永远不会 return,在那种情况下你创建了一个无限循环。
试试 thread.sleep()。在 sleep() 之前启动定时器。如果计时器完成,它将抛出 InterruptedException。更好的是:如果你自然醒来,那么你应该决定是否要再次入睡并继续等待计时器,或者是否要抛出错误/做其他事情。
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
}
作为解决方案,我使用一个整数来跟踪我的方法的迭代次数。当整数大于某个数时,我就知道时间到了。