Kullanım java.util.concurrent.TimeUnit
:
TimeUnit.SECONDS.sleep(1);
Bir saniye uyu veya
TimeUnit.MINUTES.sleep(1);
Bir dakika uyu.
Bu bir döngü olduğu için, doğasında var olan bir sorun - sürüklenme ortaya çıkar. Her kod çalıştırdığınızda ve sonra uyuduğunuzda, her saniye biraz koşmaktan sürükleneceksiniz. Bu bir sorunsa kullanmayın sleep
.
Ayrıca, sleep
kontrol söz konusu olduğunda çok esnek değildir.
Bir görevi her saniye veya bir saniyelik bir gecikmeyle yürütmek için bir [ ] [1] ve [ ] [2] veya [ ] [3] değerlerini şiddetle öneririm .ScheduledExecutorService
scheduleAtFixedRate
scheduleWithFixedDelay
Yöntemi myTask
her saniye çalıştırmak için (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");
}