Wie man in Java einige Sekunden verzögert
-
Eine Verzögerung mit der Methode
Thread.sleep()
in Java durchführen -
Eine Verzögerung mit der
TimeUnit.sleep()
Methode in Java vornehmen -
Verzögerung mit
ScheduledExecutorService
in Java durchführen -
Eine Verzögerung mit
ScheduledExecutorService
in Java vornehmen
Dieses Tutorial führt ein, wie man eine Verzögerung in Java macht und listet einige Beispielcodes auf, um es zu verstehen.
Es gibt verschiedene Möglichkeiten, eine Verzögerung zu erzeugen, wie die Methoden TimeUnit.sleep()
, ScheduleAtFixedRate()
und Thread.sleep()
, usw. Lassen Sie uns die Beispiele sehen.
Eine Verzögerung mit der Methode Thread.sleep()
in Java durchführen
Thread
ist eine Java-Klasse, die zum gleichzeitigen Erstellen und Ausführen von Aufgaben verwendet wird und eine sleep()
-Methode bietet, um die aktuelle Ausführung für eine Weile anzuhalten.
public class SimpleTesting {
public static void main(String[] args) {
try {
for (int i = 0; i < 2; i++) {
Thread.sleep(1000);
System.out.println("Sleep " + i);
}
} catch (Exception e) {
System.out.println(e);
}
}
}
Ausgabe:
Sleep 0
Sleep 1
Eine Verzögerung mit der TimeUnit.sleep()
Methode in Java vornehmen
In diesem Beispiel haben wir die Methode sleep()
der Klasse TimeUnit
verwendet, mit der eine Ausführungsverzögerung für die angegebene Zeit vorgenommen wird. Die TimeUnit
-Klasse gehört zu einem gleichzeitigen API-Paket in Java.
import java.util.concurrent.TimeUnit;
public class SimpleTesting {
public static void main(String[] args) {
try {
for (int i = 0; i < 2; i++) {
TimeUnit.SECONDS.sleep(2);
System.out.println("Sleep " + i);
}
} catch (Exception e) {
System.out.println(e);
}
}
}
Ausgabe:
Sleep 0
Sleep 1
Verzögerung mit ScheduledExecutorService
in Java durchführen
Java stellt eine Klasse ScheduledExecutorService
zur Verfügung, um die Ausführung in einer gleichzeitigen Umgebung zu planen. Wir können die darin enthaltene Methode run()
verwenden, um den separaten Ausführungspfad auszuführen. Siehe das Beispiel unten.
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String args[]) {
try {
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
executeTask();
}
}, 0, 1, TimeUnit.SECONDS);
} catch (Exception e) {
System.out.println(e);
}
}
private static void executeTask() {
System.out.println("Task Executing... ");
}
}
Ausgabe:
Task Executing...
Task Executing...
Task Executing...
Eine Verzögerung mit ScheduledExecutorService
in Java vornehmen
Wenn Sie mit Java 9 oder einer höheren Version arbeiten, können Sie das Methodenreferenzkonzept verwenden, um die Methode innerhalb der Methode scheduleAtFixedRate()
aufzurufen. Siehe das Beispiel unten.
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class SimpleTesting {
public static void main(String[] args) {
try {
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(SimpleTesting::executeTask, 1, 2, TimeUnit.SECONDS);
} catch (Exception e) {
System.out.println(e);
}
}
private static void executeTask() {
System.out.println("Task Executing... ");
}
}
Ausgabe:
Task Executing...
Task Executing...
Task Executing...