如何在Java中暂停计时器,例如我有20秒的计时器,当计时器为0时,计时器将暂停10秒,然后计时器将重置(返回20秒)。
for (int c =20; c>=0; c--){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:1)
您可以在for循环外添加循环。在for循环完成执行之后,将执行紧接其后的语句,即Thread.sleep(10000)语句。之后,它将进入while循环的下一次迭代,这将再次将c重置为20,并且线程将休眠20秒。
while(true)
{
for (int c =20; c>=0; c--){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Thread.sleep(10000);
}
让线程进入睡眠状态10秒钟的确切要求是什么?
答案 1 :(得分:0)
您可以使用Timer任务并在执行后暂停计时器10秒钟,如下所示
public static void main(String[] args) {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("TimerTask ");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Timer timer = new Timer();
timer.schedule(task,0,20000);
}