解决方法
这将给您虚拟机中的线程总数:
int nbThreads = Thread.getAllStackTraces().keySet().size();
现在,如果您希望所有线程正在执行,您可以这样做:
int nbRunning = 0; for (Thread t : Thread.getAllStackTraces().keySet()) { if (t.getState()==Thread.State.RUNNABLE) nbRunning++; }
这里列举了可能的状态:Thread.State javadoc
如果你想看到运行的线程不是程序设计,而是使用Windows工具,你可以使用Process Explorer.