Jury A Jury A - 4 months ago 13
Java Question

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.

Answer

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.