Tutorials  /  Linux Basics

Lebenszyklus und Zustände eines Threads in Java

Ccentron Redaktion · Januar 2024 ·3 Min. Lesezeit ·Linux Basics, Tutorial

Das Verständnis des Lebenszyklus und der Zustände eines Threads in Java ist sehr wichtig, wenn man mit Threads arbeitet und für eine multithreaded Umgebung programmiert. Aus unserem letzten Tutorial wissen wir, dass wir eine Java-Thread-Klasse erstellen können, indem wir das Runnable-Interface implementieren oder die Thread-Klasse erweitern. Um jedoch einen Java-Thread zu starten, müssen wir zuerst das Thread-Objekt erstellen und seine Start()-Methode aufrufen, um die Run()-Methode als Thread auszuführen.

Lebenszyklus eines Threads in Java

Das untenstehende Diagramm zeigt die verschiedenen Zustände des Lebenszyklus eines Threads in Java. Wir können einen Thread in Java erstellen und starten, aber wie sich die Thread-Zustände von Runnable zu Running zu Blocked ändern, hängt von der OS-Implementierung des Thread-Schedulers ab, und Java hat keine vollständige Kontrolle darüber.

Thread Lifecycle States
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Neu

Wenn wir ein neues Thread-Objekt mit dem new-Operator erstellen, ist der Zustand des Threads Neuer Thread. Zu diesem Zeitpunkt ist der Thread nicht aktiv, und es ist ein Zustand, der intern zur Java-Programmierung gehört.

Runnable

Wenn wir die Start()-Funktion auf ein Thread-Objekt aufrufen, ändert sich sein Zustand in Runnable. Die Kontrolle wird an den Thread-Scheduler übergeben, um seine Ausführung zu beenden. Ob dieser Thread sofort ausgeführt wird oder vor der Ausführung im Runnable-Thread-Pool verbleibt, hängt von der OS-Implementierung des Thread-Schedulers ab.

Running

Wenn ein Thread ausgeführt wird, ändert sich sein Zustand in Running. Der Thread-Scheduler wählt einen der Threads aus dem Runnable-Thread-Pool aus und ändert seinen Zustand in Running. Dann beginnt die CPU mit der Ausführung dieses Threads. Ein Thread kann seinen Zustand von Running in Runnable, Dead oder Blocked ändern, abhängig vom Zeitslicing, der Fertigstellung der Run()-Methode des Threads oder dem Warten auf einige Ressourcen.

Blocked/Wartend

Ein Thread kann darauf warten, dass ein anderer Thread mit Hilfe von Thread-Join fertig wird, oder er kann auf verfügbare Ressourcen warten. Zum Beispiel das Problem des Produzenten und Konsumenten oder die Implementierung von Wartender und Benachrichtigender oder IO-Ressourcen, dann ändert sich sein Zustand in Wartend. Sobald der Wartezustand des Threads vorbei ist, ändert sich sein Zustand in Runnable und er wird zurück in den Runnable-Thread-Pool verschoben.

Tot

Sobald der Thread seine Ausführung beendet hat, ändert sich sein Zustand in Tot und er gilt als nicht mehr aktiv. Das sind die verschiedenen Zustände eines Threads. Es ist gut, sie zu kennen und zu verstehen, wie ein Thread seinen Zustand ändert. Das ist alles zum Lebenszyklus eines Threads in Java.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Linux Basics
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren