Gunakan java.util.concurrent.TimeUnit:
TimeUnit.SECONDS.sleep(1);
Tidur selama satu detik atau
TimeUnit.MINUTES.sleep(1);
Tidur sebentar.
Karena ini adalah loop, ini menyajikan masalah bawaan - drift. Setiap kali Anda menjalankan kode dan kemudian tidur, Anda akan terhanyut sedikit dari berlari, katakanlah, setiap detik. Jika ini masalah maka jangan gunakan sleep.
Lebih jauh, sleeptidak terlalu fleksibel dalam hal kontrol.
Untuk menjalankan tugas setiap detik atau pada penundaan satu detik saya sangat merekomendasikan [ ScheduledExecutorService] [1] dan [ scheduleAtFixedRate] [2] atau [ scheduleWithFixedDelay] [3].
Untuk menjalankan metode myTasksetiap detik (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");
}