日期:2014-05-20  浏览次数:20721 次

怎么样获得一个进程的线程数?
如题所说
我在一个java程序中,启动了N个线程,我在外部怎么知道获得进程数N?
好象是.net下有现成的类

------解决方案--------------------
如果你已经持有这N线程的对象Thread[] threadList,你可以直接调用threadList[i].getState();
或者你创建它们的时候指定一个ThreadGroup,这样调用ThreadGroup.activeCount就可以知道还在运行的个数了


t当然就是maps中的key值啦

Map <Thread, StackTraceElement[] > maps = Thread.getAllStackTraces();
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
for(Map.Entry<Thread, StackTraceElement[]> entry : maps.entrySet()) {
Thread t = entry.getKey();
ThreadInfo info = threadMXBean.getThreadInfo(t.getId());
}