Wie man in Java einige Sekunden verzögert

Mohammad Irfan 12 Oktober 2023
  1. Eine Verzögerung mit der Methode Thread.sleep() in Java durchführen
  2. Eine Verzögerung mit der TimeUnit.sleep() Methode in Java vornehmen
  3. Verzögerung mit ScheduledExecutorService in Java durchführen
  4. Eine Verzögerung mit ScheduledExecutorService in Java vornehmen
Wie man in Java einige Sekunden verzögert

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... 

Verwandter Artikel - Java Multithreading