Java bietet einen integrierten Mechanismus zum Auflisten aller aktiven Threads innerhalb der Java Virtual Machine (JVM). Dazu gehören von der aktuellen Klasse erstellte und von externen Prozessen initiierte Threads.
Um einen iterierbaren Satz aller laufenden Threads abzurufen, verwenden Sie den folgenden Code:
Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
Dieser Ansatz bietet einen geringen Leistungsaufwand und verbraucht normalerweise eine vernachlässigbare Zeitmenge für eine angemessene Anzahl von Threads (z. B. 0). ms für 12 Threads in einer Azul JVM 16.0.1-Umgebung unter Windows 10).
Zusätzlich ist es möglich, die jeweils zugeordneten Thread- und Klassenobjekte zu extrahieren Thread in der Liste:
for (Thread thread : threadSet) { String threadName = thread.getName(); Class<?> threadClass = thread.getClass(); }
Damit können Sie Thread-Eigenschaften und Klasseninformationen überprüfen, z. B. den Namen des Threads und die Java-Klasse, die es erstellt hat.
Das obige ist der detaillierte Inhalt vonWie kann ich alle laufenden Threads in einem Java-Programm programmgesteuert auflisten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!