Heim >Java >javaLernprogramm >Wie implementiert man präzise Verzögerungen in Java?
Java-Verzögerungsimplementierung
In Java ist das Erstellen einer Verzögerung für eine bestimmte Dauer in verschiedenen Szenarien unerlässlich. In diesem Artikel werden Techniken zur Implementierung von Verzögerungen und deren Auswirkungen untersucht.
Der bereitgestellte Codeausschnitt verwendet eine While-Schleife, um ein Array zu durchlaufen und Elemente mit beabsichtigten Verzögerungen zwischen den einzelnen Aktionen auszuwählen und abzuwählen. Um dies zu erreichen, bietet die Java-Plattform mehrere Optionen:
java.util.concurrent.TimeUnit Sleep
Die TimeUnit-Klasse stellt Methoden wie SECONDS.sleep(1) zur Verfügung Pausieren Sie die Ausführung für eine bestimmte Dauer. Dieser Ansatz führt jedoch zu Abweichungen, da jede Ausführung geringfügige Zeitschwankungen aufweist.
ScheduledExecutorService
Für mehr Flexibilität und präzise Kontrolle ist der ScheduledExecutorService die bessere Wahl. Es unterstützt die Methoden „scheduleAtFixedRate“ und „scheduleWithFixedDelay“, um Aufgaben regelmäßig in vordefinierten Intervallen auszuführen.
Beispielimplementierung
So führen Sie jede Sekunde eine Aufgabe mit ScheduledExecutorService (Java 8) aus:
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(App::myTask, 0, 1, TimeUnit.SECONDS);
Java 7 Implementierung
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { myTask(); } }, 0, 1, TimeUnit.SECONDS);
Diese Methode stellt sicher, dass die Aufgabe in präzisen Intervallen ausgeführt wird, wodurch Driftprobleme vermieden werden.
Das obige ist der detaillierte Inhalt vonWie implementiert man präzise Verzögerungen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!