有时候我们希望找到系统中的所有线程,有没有什么办法呢?是可以做到的,代码如下:
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;
}
代码比较简单,就不加解释了。
本文介绍了一段Java代码,该代码能够帮助开发者获取当前系统中运行的所有线程。通过遍历根线程组并收集其所有子线程,最终返回一个包含全部活动线程的数组。
1051

被折叠的 条评论
为什么被折叠?



