有时候我们希望找到系统中的所有线程,有没有什么办法呢?是可以做到的,代码如下:
public static Thread[] findAllThreads() { ThreadGroup group = Thread.currentThread().getThreadGroup(); ThreadGroup topGroup = group; // Found the root thread group while (group != null) { topGroup = group; group = group.getParent(); } // The num of activated threads int estimatedSize = topGroup.activeCount() * 2; Thread[] slackList = new Thread[estimatedSize]; // Get all sub thread of the root thread group int actualSize = topGroup.enumerate(slackList); // copy into a list that is the exact size Thread[] list = new Thread[actualSize]; System.arraycopy(slackList, 0, list, 0, actualSize); return list; }
代码比较简单,就不加解释了。