Heim  >  Artikel  >  Java  >  Was ist der Lebenszyklus eines Threads?

Was ist der Lebenszyklus eines Threads?

青灯夜游
青灯夜游Original
2018-12-15 17:06:1513538Durchsuche

Der Lebenszyklus eines Threads, d. h. der Thread-Status, besteht aus 5 Phasen: Neuer Status (Neu), Bereit-Status (Ausführbar), Laufender Status (Running), Blockierter Status (Blockiert) und Todesstatus (Dead). .

Was ist der Lebenszyklus eines Threads?

Wenn ein Thread erstellt und gestartet wird, wechselt er nicht sofort nach dem Start in den Ausführungsstatus und befindet sich auch nicht immer im Ausführungsstatus wird 5 Staaten durchlaufen. In diesem Artikel erfahren Sie den Lebenszyklus von Threads und können die fünf Zustände von Threads verstehen. [Empfohlene verwandte Video-Tutorials: Java-Tutorial]

Neuer Status (Neu)

Wenn das Programm den neuen verwendet Schlüsselwort Nachdem ein Thread erstellt wurde, befindet sich der Thread im neu erstellten Zustand. Beispiel:

Thread t = new MyThread();

Was ist der Lebenszyklus eines Threads?

Ready state (Runnable)

Nach dem Aufruf der start()-Methode wird die Thread Es befindet sich zu diesem Zeitpunkt im Bereitschaftszustand. Dies kann nur bedeuten, dass dieser Thread zur Ausführung bereit ist, was bedeutet, dass er ausgeführt werden kann, aber noch kein laufender Thread ist.

Laufstatus (Running)

Wenn der Thread den Zeitplan vom Thread-Scheduler in der JVM erhält, wird der Thread ausgeführt Status und Start Der Thread-Ausführungskörper, der die run()-Methode ausführt.

Blockiert

Dies ist ein Thread, der noch aktiv ist, aber derzeit nicht zur Ausführung berechtigt ist (aus irgendeinem Grund wird er vorübergehend aufgegeben). die CPU-Nutzungsrechte, der Zustand, in dem die Ausführung gestoppt wird).

Drei Blockierungszustände:

1. Warten auf Blockierung:

1) Der Thread ruft die Methode wait() auf, um diesen Thread in den Wartezustand zu versetzen >

2) Rufen Sie die Methode „join()“ auf, um diesen Thread in einen anderen Wartezustand zu versetzen: Warten auf die Beendigung oder Zeitüberschreitung des Threads.

2. Synchrones Blockieren

Ein Thread tritt in diesen Blockierungszustand ein, nachdem der Versuch, einen Synchronisationsmonitor zu erhalten, fehlschlägt (von anderen Threads gehalten).

3. Andere Blockierung

Rufen Sie die Methode „sleep()“ auf, um die belegten CPU-Ressourcen aktiv freizugeben, oder rufen Sie eine blockierende E/A-Methode auf und geben Sie eine E/A-Anfrage aus, um in diesen Blockierungszustand zu gelangen.

Erläuterung: Der blockierte Thread wechselt zu gegebener Zeit (nach Aufhebung der Blockierung) wieder in den Bereitschaftszustand und wartet darauf, dass der Thread-Scheduler ihn erneut plant.

Toter Zustand (Dead)

Beim Beenden der run()-Methode stirbt der Thread auf natürliche Weise ab und befindet sich im beendeten oder toten Zustand , auch Das beendet den Lebenszyklus.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonWas ist der Lebenszyklus eines Threads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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