Heim  >  Artikel  >  Java  >  Was sind die verschiedenen Zustände von Java-Threads?

Was sind die verschiedenen Zustände von Java-Threads?

王林
王林Original
2020-05-14 15:53:012598Durchsuche

Was sind die verschiedenen Zustände von Java-Threads?

Im laufenden Zyklus des Java-Threads gibt es die folgenden Zustände:

NEU

Dieser Zustand ist Dies bedeutet, dass der Thread gerade erst erstellt und noch nicht gestartet wurde.

2. RUNNABLE

zeigt an, dass der Thread normal ausgeführt wird. Natürlich kann es zu zeitaufwändigen Berechnungen/E/A-Wartevorgängen/CPU-Zeitscheibenwechsel kommen. usw. Das Warten, das im Status auftritt, betrifft im Allgemeinen andere Systemressourcen, nicht Sperren, Schlaf usw.

(Empfohlenes Video-Tutorial: Java-Video)

3. BLOCKIERT

In diesem Zustand werden mehrere Threads ausgeführt sind Szenarien synchroner Vorgänge, z. B. das Warten auf die Ausführungsfreigabe des synchronisierten Blocks eines anderen Threads oder das Aufrufen der Methode wait () durch eine andere Person in einem wiedereintretenden synchronisierten Block, was bedeutet, dass der Thread darauf wartet, in den kritischen Abschnitt einzutreten.

4. WAITING

Dieser Zustand bedeutet, dass der Thread, nachdem er eine bestimmte Sperre besitzt, seine Wartemethode aufruft und darauf wartet, dass andere Threads/Sperrenbesitzer notify aufrufen. / notifyAll einmal, kann der Thread mit dem nächsten Vorgang fortfahren.

Hier müssen wir den Unterschied zwischen BLOCKED und WATING unterscheiden. Einer wartet auf den Eintritt außerhalb des kritischen Punkts und der andere wartet darauf, dass andere innerhalb des Verständnispunkts benachrichtigt werden Wenn Sie einem anderen Thread beitreten, wird dies ebenfalls der Fall sein. Wechselt in den Wartezustand und wartet auf das Ende der Ausführung des Threads, dem er beigetreten ist.

5. TIMED_WAITING

Dieser Zustand ist begrenzt (zeitlich begrenzt) WAITING, was im Allgemeinen auftritt, wenn Wait(long), Join(long) usw. aufgerufen werden. Nachdem ein anderer Thread in den Ruhezustand versetzt wurde, wechselt er ebenfalls in den Status TIMED_WAITING.

6. TERMINATED

Dieser Zustand zeigt an, dass die Ausführungsmethode des Threads ausgeführt wurde, was im Grunde einem Tod entspricht (wenn der Thread dabei dauerhaft gehalten wird). Zeit, darf nicht recycelt werden).

Empfohlenes Tutorial: Java-Einstiegsprogramm

Das obige ist der detaillierte Inhalt vonWas sind die verschiedenen Zustände von Java-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