import java.io.*;
public class ThreadLister { // Display info about a thread.
private static void print_thread_info(PrintStream out, Thread t, String indent) {
if (t == null) return;
out.println(indent + "Thread: " + t.getName() + " Priority: " + t.getPriority() +
(t.isDaemon()?" Daemon":" Not a Daemon") + (t.isAlive()?" Is Alive ":" Not Alive"));
}
// Display info about a thread group and its threads and groups
private static void list_group(PrintStream out, ThreadGroup g, 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":" not a 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 + " ");
} // end list_group
Previous slide | Next slide | Back to first slide | View graphic version |