86 votes

Comment obtenir le nombre de threads dans un processus Java

Comment puis-je voir le nombre de threads dans un processus Java ?

97voto

miku Points 63392
java.lang.Thread.activeCount()

Il renverra le nombre de threads actifs dans le groupe de threads du thread actuel.

docs : http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#activeCount()

86voto

gustafc Points 13552

ManagementFactory.getThreadMXBean().getThreadCount() ne se limite pas aux groupes de threads comme Thread.activeCount() le fait.

58voto

laura Points 4445

Outil utile pour déboguer des programmes Java, il donne le nombre de threads et d'autres informations pertinentes sur eux :

jconsole <process-id>

26voto

MarkPowell Points 11394

Il existe une méthode statique sur la classe Thread qui renverra le nombre de threads actifs contrôlés par la JVM :

Thread.activeCount()

Renvoie le nombre de threads actifs dans le groupe de threads du thread actuel.

En outre, les débogueurs externes doivent répertorier tous les threads actifs (et vous permettre de suspendre n'importe quel nombre d'entre eux) si vous souhaitez les surveiller en temps réel.

22voto

Felipe Oliveira Points 813

Solution générique qui ne nécessite pas de GUI comme jconsole (ne fonctionne pas sur les terminaux distants), ps fonctionne pour les processus non Java, ne nécessite pas de JVM installé.

ps -o nlwp <pid>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X