Java fournit un mécanisme intégré pour répertorier tous les threads actifs dans la machine virtuelle Java (JVM). Cela inclut les threads créés par la classe actuelle et ceux initiés par des processus externes.
Pour récupérer un ensemble itérable de tous les threads en cours d'exécution, utilisez le code suivant :
Set<Thread> threadSet = Thread.getAllStackTraces().keySet();
Cette approche offre une légère surcharge de performances, consommant généralement un temps négligeable pour un nombre raisonnable de threads (par exemple, 0 ms pour 12 threads dans un environnement Azul JVM 16.0.1 fonctionnant sous Windows 10).
De plus, il est possible d'extraire les objets Thread et Class associés à chaque thread dans la liste :
for (Thread thread : threadSet) { String threadName = thread.getName(); Class<?> threadClass = thread.getClass(); }
Cela vous permet d'inspecter les propriétés du thread et les informations de classe, telles que le nom du thread et la classe Java qui a créé ça.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!