ThreadListerpublic class ThreadLister extends Object
Methods Summary |
---|
public static void | listAllThreads(java.io.PrintStream out)
ThreadGroup current_thread_group;
ThreadGroup root_thread_group;
ThreadGroup parent;
// Get the current thread group
current_thread_group = Thread.currentThread().getThreadGroup();
// Now go find the root thread group
root_thread_group = current_thread_group;
parent = root_thread_group.getParent();
while(parent != null) {
root_thread_group = parent;
parent = parent.getParent();
}
// And list it, recursively
list_group(out, root_thread_group, "");
| private static void | list_group(java.io.PrintStream out, java.lang.ThreadGroup g, java.lang.String indent)
if (g == null) return;
int num_threads = g.activeCount();
int num_groups = g.activeGroupCount();
Thread[] threads = new Thread[num_threads];
ThreadGroup[] groups = new ThreadGroup[num_groups];
g.enumerate(threads, false);
g.enumerate(groups, false);
out.println(indent + "Thread Group: " + g.getName() +
" Max Priority: " + g.getMaxPriority() +
(g.isDaemon()?" Daemon":""));
for(int i = 0; i < num_threads; i++)
print_thread_info(out, threads[i], indent + " ");
for(int i = 0; i < num_groups; i++)
list_group(out, groups[i], indent + " ");
| public static void | main(java.lang.String[] args)
ThreadLister.listAllThreads(System.out);
| private static void | print_thread_info(java.io.PrintStream out, java.lang.Thread t, java.lang.String indent)
if (t == null) return;
out.println(indent + "Thread: " + t.getName() +
" Priority: " + t.getPriority() +
(t.isDaemon()?" Daemon":"") +
(t.isAlive()?"":" Not Alive"));
|
|