Was ist ein Java-Thread?
Ein Thread in Java bezieht sich auf ein Mitglied von Java .lang.Thread-Klasse Die Ausführung einer Instanz oder eines Threads. Verwenden Sie die Schnittstelle java.lang.Thread oder java.lang.Runnable, um Code zum Definieren, Instanziieren und Starten neuer Threads zu schreiben.
1. Prozess
Ein Prozess bezieht sich auf eine Anwendung, die im Speicher ausgeführt wird , können mehrere Threads in einem Prozess gestartet werden. In Windows-Systemen ist beispielsweise eine laufende EXE-Datei ein Prozess.
2. Thread
Ein Thread bezieht sich auf einen Ausführungsprozess in einem Prozess, und ein Prozess kann mehrere Threads ausführen. Beispielsweise kann der Prozess java.exe viele Threads ausführen. Threads treten immer in einen Prozess ein, und mehrere Threads in einem Prozess teilen sich den Speicher des Prozesses.
Empfohlenes Tutorial: Java-Tutorial
3. Javas Threading-Modell
Da Java eine rein objektorientierte Sprache ist, Das Threading-Modell von Java ist ebenfalls objektorientiert. Java kapselt alle notwendigen Funktionen von Threads über die Thread-Klasse. Um einen Thread zu erstellen, muss eine Thread-Ausführungsfunktion vorhanden sein. Diese Thread-Ausführungsfunktion entspricht der Ausführungsmethode der Thread-Klasse. Die Thread-Klasse verfügt außerdem über eine Startmethode, die für die Erstellung eines Threads verantwortlich ist. Dies entspricht dem Aufruf der Windows-Thread-Erstellungsfunktion CreateThread. Wenn die Startmethode aufgerufen wird und der Thread erfolgreich eingerichtet wurde, wird automatisch die Ausführungsmethode der Thread-Klasse aufgerufen. Daher kann jede Java-Klasse, die Thread erbt, über die Startmethode der Thread-Klasse einen Thread erstellen. Wenn Sie Ihre eigene Thread-Ausführungsfunktion ausführen möchten, müssen Sie die Ausführungsmethode der Thread-Klasse überschreiben.
Zusätzlich zur Thread-Klasse gibt es im Java-Thread-Modell auch eine Schnittstelle Runnable, die angibt, ob eine Java-Klasse als Thread-Klasse verwendet werden kann. Diese Schnittstelle verfügt nur über eine abstrakte Methode run, nämlich die Thread-Ausführungsfunktion des Java-Thread-Modells. Daher ist das einzige Kriterium für eine Thread-Klasse, ob die Klasse die Ausführungsmethode der Runnable-Schnittstelle implementiert. Mit anderen Worten, eine Klasse mit einer Thread-Ausführungsfunktion ist eine Thread-Klasse.
Wie aus dem Obigen hervorgeht, gibt es zwei Möglichkeiten, einen Thread in Java zu erstellen. Eine besteht darin, die Thread-Klasse zu erben und die andere darin, das Runnable zu implementieren Schnittstelle und Threads werden über Thread und Klassen erstellt, die Runnable implementieren. Tatsächlich sind diese beiden Methoden im Wesentlichen dieselben Methoden, das heißt, beide erstellen Threads über die Thread-Klasse und führen die Run-Methode aus. Ihr großer Unterschied besteht jedoch darin, dass Threads durch Erben der Thread-Klasse erstellt werden. Da Java keine Mehrfachvererbung unterstützt, kann diese Thread-Klasse jedoch keine anderen Klassen erben Methoden zum Einrichten von Threads durch Implementierung der Runnable-Schnittstelle, sodass Thread-Klassen bei Bedarf geschäftsbezogene Klassen anstelle der Thread-Klasse erben können.
● Alle in Java geschriebenen Programme laufen in der Java Virtual Machine (JVM). Innerhalb der JVM wird das Multitasking des Programms durch Threads implementiert. Jedes Mal, wenn eine Java-Anwendung mit dem Java-Befehl gestartet wird, wird ein JVM-Prozess gestartet. Im selben JVM-Prozess gibt es nur einen Prozess, nämlich sich selbst. In dieser JVM-Umgebung läuft der gesamte Programmcode in Threads.
● Im Allgemeinen sind gängige Java-Anwendungen Single-Threaded. Wenn Sie beispielsweise den Java-Befehl verwenden, um die einfachste HelloWorld-Java-Anwendung auszuführen, wird ein JVM-Prozess gestartet. Die JVM findet den Einstiegspunkt des Programms, main(), und führt dann die main()-Methode aus, wodurch ein Thread erstellt wird . Dieser Thread wird als Hauptthread bezeichnet. Wenn die Hauptmethode endet, ist der Hauptthread abgeschlossen. Der JVM-Prozess wird ebenfalls sofort beendet.
Das obige ist der detaillierte Inhalt vonWas ist ein Java-Thread?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!