Starten eine neuen Thread in Java
-
Erstellen eines Threads durch Erweiterung der Klasse
Thread
in Java -
Erstellen eines Threads durch Implementierung der
Runnable
-Schnittstelle in Java -
Erstellen Sie einen Thread mit dem
Thread
-Objekt in Java - Erstellen einen Thread mit der anonymen Klasse in Java
- Erstellen einen Thread mit der Lambda-Funktion in Java
-
Erstellen Sie einen Thread mit der Klasse
Executors
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.