Java设置计时器暂停和重置计时器

时间:2016-08-06 06:07:45

标签: java timer

如何在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();
        }

2 个答案:

答案 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);
}