Starten eine neuen Thread in Java

Mohammad Irfan 12 Oktober 2023
  1. Erstellen eines Threads durch Erweiterung der Klasse Thread in Java
  2. Erstellen eines Threads durch Implementierung der Runnable-Schnittstelle in Java
  3. Erstellen Sie einen Thread mit dem Thread-Objekt in Java
  4. Erstellen einen Thread mit der anonymen Klasse in Java
  5. Erstellen einen Thread mit der Lambda-Funktion in Java
  6. Erstellen Sie einen Thread mit der Klasse Executors in Java
Starten eine neuen Thread in Java

In diesem Tutorial wird erläutert, wie Sie einen neuen Thread in Java starten.

Ein Thread ist die kleinste Einheit eines Programms/Prozesses, die in Echtzeit ausgeführt wird und die CPU-Auslastung maximiert.

Java unterstützt das Thread-Konzept und ermöglicht die Erstellung eines Threads zum Erstellen von Multithreading-Anwendungen. In diesem Artikel lernen wir, einen neuen Thread in Java zu erstellen.

Um einen neuen Thread in Java zu erstellen, können wir entweder die Klasse Thread oder die Schnittstelle Runnable verwenden. Sehen wir uns einige Beispiele an.

Erstellen eines Threads durch Erweiterung der Klasse Thread in Java

In Java ist Thread eine Klasse, die verwendet wird, um einen neuen Thread zu erstellen, und bietet mehrere Dienstprogrammmethoden. In diesem Beispiel haben wir die Klasse Thread verwendet, indem wir sie erweitert und dann mit der Methode start() begonnen haben. Die Methode start() startet einen neuen Thread. Die Methode run() wird verwendet, um die Aufgabe des neu erstellten Threads auszuführen. Der Thread führt diese Methode automatisch aus. Siehe das Beispiel unten.

public class SimpleTesting extends Thread {
  public static void main(String[] args) {
    SimpleTesting st = new SimpleTesting();
    st.start();
  }
  public void run() {
    try {
      System.out.println("New Thread Start");
      Thread.sleep(1000);
      System.out.println("Thread sleep for 1 second.");
    } catch (InterruptedException e) {
      System.out.println(e);
    }
  }
}

Ausgabe:

New Thread Start
Thread sleep for 1 second.

Erstellen eines Threads durch Implementierung der Runnable-Schnittstelle in Java

Die Schnittstelle Runnable kann verwendet werden, um einen neuen Thread zu erstellen, bietet jedoch nicht die Funktionen, die von der Klasse Thread bereitgestellt werden. Diese Schnittstelle stellt eine run()-Methode bereit, die zum Ausführen von Aufgaben verwendet werden kann. Siehe das Beispiel unten.

public class SimpleTesting implements Runnable {
  public static void main(String[] args) {
    SimpleTesting st = new SimpleTesting();
    Thread one = new Thread(st);
    one.start();
  }
  public void run() {
    try {
      System.out.println("New Thread Start");
      Thread.sleep(1000);
      System.out.println("Thread sleep for 1 second.");
    } catch (InterruptedException e) {
      System.out.println(e);
    }
  }
}

Ausgabe:

New Thread Start
Thread sleep for 1 second.

Erstellen Sie einen Thread mit dem Thread-Objekt in Java

Wir können mit dem Objekt Thread und der Methode start() direkt einen neuen Thread erstellen, aber dieser Thread führt keine Aufgabe aus, da wir die Implementierung der Methode run() nicht bereitgestellt haben. Wir können Thread-Informationen abrufen, indem wir die integrierten Methoden wie getState(), getName() usw. verwenden. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    Thread one = new Thread("New Thread");
    System.out.println("Thread state : " + one.getState());
    one.start();
    System.out.println("Thread state : " + one.getState());
    System.out.println("Thread Name : " + one.getName());
    System.out.println("Thread state : " + one.getState());
  }
}

Ausgabe:

Thread state : NEW
Thread state : RUNNABLE
Thread Name : New Thread
Thread state : TERMINATED

Erstellen einen Thread mit der anonymen Klasse in Java

Dies ist keine neue Möglichkeit, einen neuen Thread zu erstellen; Wir haben einfach eine anonyme Klasse mit der Klasse Runnable verwendet, sie an den Konstruktor Thread übergeben und den Thread gestartet. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) {
    Thread t1 = new Thread(new Runnable() {
      public void run() {
        try {
          System.out.println("New Thread Start");
          Thread.sleep(1000);
          System.out.println("Thread sleep for 1 second.");
        } catch (InterruptedException e) {
          System.out.println(e);
        }
      }
    });
    t1.start();
  }
}

Ausgabe:

New Thread Start
Thread sleep for 1 second.

Erstellen einen Thread mit der Lambda-Funktion in Java

Die Lambda-Funktion wurde der Java 8-Version hinzugefügt, die verwendet werden kann, um anonyme Klassen in Java zu ersetzen. Hier haben wir die Lambda-Funktion verwendet, um einen neuen Thread zu erstellen. Dies ist eine kompakte und kurze Möglichkeit, einen Thread zu erstellen. Siehe das Beispiel unten.

public class SimpleTesting {
  public static void main(String[] args) throws InterruptedException {
    new Thread(() -> {
      try {
        System.out.println("New Thread Start");
        Thread.sleep(1000);
        System.out.println("Thread sleep for 1 second.");
      } catch (InterruptedException e) {
        System.out.println(e);
      }
    }) {
      { start(); }
    }.join();
  }
}

Ausgabe:

New Thread Start
Thread sleep for 1 second.

Erstellen Sie einen Thread mit der Klasse Executors in Java

Die Executors ist eine Klasse, die zum Java-Concurrency-Paket gehört und zur Erstellung von Multithreading-Anwendungen verwendet werden kann. So können wir es auch verwenden, um einen neuen Thread zu erstellen. Die Methode newSingleThreadExecutor() initialisiert einen neuen Thread und wird dann von der Funktion submit() ausgeführt. Siehe das Beispiel unten.

import java.util.concurrent.Executors;
public class SimpleTesting {
  public static void main(String[] args) throws InterruptedException {
    Executors.newSingleThreadExecutor().submit(() -> {
      try {
        System.out.println("New Thread Start");
        Thread.sleep(1000);
        System.out.println("Thread sleep for 1 second.");
      } catch (InterruptedException e) {
        System.out.println(e);
      }
    });
  }
}

Ausgabe:

New Thread Start
Thread sleep for 1 second.

Verwandter Artikel - Java Threading