2016-08-06 2 views
1

Как я могу приостановить таймер в Java, например, у меня есть таймер, который имеет 20 секунд, а когда таймер равен 0, таймер остановится на 10 секунд, а затем таймер сбросит (до 20 сек).Таймер таймера Java для паузы и сброса таймера

for (int c =20; c>=0; c--){ 
     try { 
      Thread.sleep(1000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

ответ

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 секунд?

0

Вы можете использовать задачу таймера и приостановить таймер на 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); 
}