Heim > Java > JavaErste Schritte > Was ist ein Thread in Java?

Was ist ein Thread in Java?

王林
Freigeben: 2019-12-04 16:03:14
Original
3632 Leute haben es durchsucht

Was ist ein Thread in Java?

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()
Nach dem Login kopieren

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Kann Java als Backend des Webs verwendet werden?
Aus 1970-01-01 08:00:00
0
0
0
Installieren Sie JAVA
Aus 1970-01-01 08:00:00
0
0
0
Java kann nicht installiert werden
Aus 1970-01-01 08:00:00
0
0
0
Ist das in der Java-Sprache?
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage