Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check the number of currently running threads in Java?

I'm looking for a way to see the number of currently running threads

  1. Through Windows first
  2. Programmatically
like image 993
Jury A Avatar asked Jul 18 '12 08:07

Jury A


1 Answers

This will give you the total number of threads in your VM :

int nbThreads =  Thread.getAllStackTraces().keySet().size();

Now, if you want all threads currently executing, you can do that :

int nbRunning = 0;
for (Thread t : Thread.getAllStackTraces().keySet()) {
    if (t.getState()==Thread.State.RUNNABLE) nbRunning++;
}

The possible states are enumerated here: Thread.State javadoc

If you want to see running threads not programmaticaly but with a Windows tool, you could use Process Explorer.

like image 182
Denys Séguret Avatar answered Sep 28 '22 01:09

Denys Séguret