In Java haben Threads fünf verschiedene Zustände: „Neu“, „Ausführbar“, „Läuft“, „Blockiert“ und „Tot“. Das Umrechnungsdiagramm zwischen ihnen lautet wie folgt:
In der obigen Abbildung gibt es eine Ausnahme. Durch Aufrufen der yield()-Methode kann der aktuell laufende Thread in den Bereitschaftszustand versetzt werden. Wenn Sie testen möchten, ob ein Thread gestorben ist, können Sie die Methode isAlive() verwenden, die „true“ zurückgibt, wenn der Thread bereit ist, läuft oder blockiert ist, und „false“ zurückgibt, wenn er erstellt wird oder stirbt. Versuchen Sie nicht, einen toten Thread durch Aufrufen der start()-Methode neu zu starten. Tod bedeutet Tod, genau wie bei Menschen ist es unmöglich, sich zu regenerieren. Rufen Sie die start()-Methode außerdem nicht zweimal in einem Thread auf, da dies ebenfalls eine Ausnahme auslöst.