Використання java.util.concurrent.TimeUnit:
TimeUnit.SECONDS.sleep(1);
Спати одну секунду або
TimeUnit.MINUTES.sleep(1);
Спати хвилину.
Оскільки це цикл, це представляє властиву проблему - дрейф. Кожен раз, коли ви запускаєте код, а потім спаєте, ви будете трохи відходити від бігу, скажімо, щосекунди. Якщо це проблема, то не використовуйте sleep.
Крім того, sleepне дуже гнучка, коли справа стосується контролю.
Для виконання завдання щосекунди або з затримкою на одну секунду я настійно рекомендую [ ScheduledExecutorService] [1] і [ scheduleAtFixedRate] [2] або [ scheduleWithFixedDelay] [3].
Щоб запускати метод myTaskщосекунди (Java 8):
public static void main(String[] args) {
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
}
private static void myTask() {
System.out.println("Running");
}