有时候我们希望找到系统中的所有线程,有没有什么办法呢?是可以做到的,代码如下:
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;
}
代码比较简单,就不加解释了。