Was ist ein Thread?
Ein Thread bezieht sich auf einen Ausführungsprozess in einem Prozess in einem Prozess. Beispielsweise können viele Threads im Prozess java.exe ausgeführt werden. Threads gehören immer zu einem Prozess, und mehrere Threads in einem Prozess teilen sich den Speicher des Prozesses.
In Java bezieht sich „Thread“ auf zwei verschiedene Dinge:
Eine Instanz der Klasse java.lang.Thread
2 .
Empfohlene Java-bezogene Video-Tutorials: Java-Video-Tutorials
Verwenden Sie die Klasse java.lang.Thread
oder die Schnittstelle java.lang.Runnable
, um Code zum Definieren, Instanziieren und Starten neuer Threads zu schreiben.
Eine Thread-Klasseninstanz ist nur ein Objekt, wie jedes andere Objekt in Java, hat Variablen und Methoden, lebt und stirbt auf dem Heap.
In Java verfügt jeder Thread über einen Aufrufstapel. Auch wenn keine neuen Threads im Programm erstellt werden, laufen die Threads weiterhin im Hintergrund.
Eine Java-Anwendung wird immer über die Methode main()
ausgeführt. Die Methode main() wird in einem Thread ausgeführt, der als Hauptthread bezeichnet wird.
Sobald ein neuer Thread erstellt wird, wird ein neuer Aufrufstapel generiert.
Threads werden im Allgemeinen in zwei Kategorien unterteilt: Benutzer-Threads und Warte-Threads.
Wenn die Ausführung aller Benutzer-Threads abgeschlossen ist, wird die JVM automatisch heruntergefahren. Der Wartethread ist jedoch nicht unabhängig von der JVM. Der Wartethread wird im Allgemeinen vom Betriebssystem oder vom Benutzer selbst erstellt.
Java-Thread: Erstellung und Start
1. Threads definieren
1 .lang.Thread-Klasse.
In dieser Klasse gibt es eine run()-Methode, und Sie sollten auf deren Verwendung achten:
public void run()
Wenn der Thread mit einem unabhängigen Runnable-Laufobjekt erstellt wird, rufen Sie die run-Methode von auf das Runnable-Objekt; andernfalls führt die Methode keine Aktion aus und kehrt zurück.
Unterklassen von Thread sollten diese Methode überschreiben.
2. Implementieren Sie die java.lang.Runnable-Schnittstelle.
void run()
Wenn Sie einen Thread mit einem Objekt erstellen, das die Schnittstelle Runnable implementiert, führt das Starten des Threads dazu, dass die Ausführungsmethode des Objekts in einem separaten Ausführungsthread aufgerufen wird. Der allgemeine Zweck der
-Methode run besteht darin, dass sie jede gewünschte Operation ausführen kann.
2. Threads instanziieren
1. Wenn es sich um einen Thread handelt, der die Klasse java.lang.Thread erweitert, verwenden Sie einfach new.
2. Wenn es sich um eine Klasse handelt, die die java.lang.Runnable-Schnittstelle implementiert, verwenden Sie den Thread-Konstruktor:
Thread(Runnable target) Thread(Runnable target, String name) Thread(ThreadGroup group, Runnable target) Thread(ThreadGroup group, Runnable target, String name) Thread(ThreadGroup group, Runnable target, String name, long stackSize)
3. Starten Sie den Thread
Rufen Sie die start()-Methode für das Thread-Objekt des Threads anstelle von run() oder anderen Methoden auf.
Vor dem Aufruf der start()-Methode: Der Thread befindet sich in einem neuen Zustand. Der neue Zustand bedeutet, dass es ein Thread-Objekt gibt, aber noch keinen echten Thread.
Nach dem Aufruf der start()-Methode passierte eine Reihe komplexer Dinge
Starten Sie einen neuen Ausführungsthread (mit einem neuen Aufrufstapel).
Der Thread beginnt mit dem neuer Zustand In einen ausführbaren Zustand wechseln;
Wenn der Thread die Möglichkeit hat, auszuführen, wird seine Zielmethode run() ausgeführt.
Hinweis: Es gibt nichts Besonderes an der run()-Methode für Java. Wie bei der main()-Methode ist es nur der Methodenname (und die Signatur), den der neue Thread aufrufen muss. Daher ist es legal, die run-Methode auf Runnable oder Thread aufzurufen. Es wird aber kein neuer Thread eröffnet.
Empfohlene verwandte Artikel und Tutorials: Erste Schritte ohne Java-Grundkenntnisse
Das obige ist der detaillierte Inhalt vonWas ist ein Thread in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!