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

后端 未结 5 1317
耶瑟儿~
耶瑟儿~ 2020-12-08 05:47

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

  1. Through Windows first
  2. Programmatically
5条回答
  •  情歌与酒
    2020-12-08 06:08

    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.

提交回复
热议问题