Fadenlebenszyklus
Jeder Thread in Java durchläuft einen gut definierten Lebenszyklus. Der Fadenlebenszyklus hat die folgenden Phasen:
1. neu: Ein Thread wird im neuen Zustand erstellt. Dies geschieht, wenn Sie ein neues Thread -Objekt erstellen und seine Start () -Methode aufrufen oder wenn das JVM einen Thread intern erstellt.
2. Runnable: Sobald der Thread beginnt, tritt er in den laufbaren Zustand ein. Hier kann der Thread seinen Code ausführen.
3. Warten: Ein Thread kann den Wartezustand eingeben, wenn er eine Methode wie Wait (), Sleep () oder Join () aufruft. Im Wartezustand läuft der Thread nicht, aber er kann von einem anderen Thread geweckt werden.
4. Timed Warted: Ein Thread kann auch den zeitgesteuerten Wartezustand eingeben, wenn er eine Methode wie Wartezeit (lang), Schlaf (lang) oder Join (lang) aufruft. Im zeitgesteuerten Wartezustand wird der Thread nicht ausgeführt, aber er wacht nach einer bestimmten Zeit automatisch auf.
5. beendet: Ein Thread tritt in den beendeten Zustand ein, wenn er seine Ausführung abschließt oder wenn er von einem anderen Thread gestoppt wird. Im abgesetzten Zustand läuft der Thread nicht mehr und kann nicht neu gestartet werden.
Hier ist ein Diagramm des Fadenlebenszyklus:
[Bild des Thread -Lebenszyklus] (https://i.imgur.com/5hjls.png)
Hinweise:
* Ein Thread kann jeweils nur in einem Zustand sein.
* Ein Thread kann in vielerlei Hinsicht von einem Zustand in einen anderen wechseln. Ein Thread kann beispielsweise vom Runnable -Status in den Wartezustand wechseln, wenn er die Wait () -Methode aufruft, und er kann vom Wartezustand in den Laufstatus wechseln, wenn er von einem anderen Thread benachrichtigt wird.
* Ein Thread kann nur von einem anderen Thread beendet werden, wenn er im Warten- oder zeitgesteuerten Wartezustand befindet.
* Ein Thread kann nicht neu gestartet werden, sobald er beendet wurde.