public String doRender(Object o) {
if(o instanceof ThreadGroup) {
StringBuffer sbuf = new StringBuffer();
ThreadGroup tg = (ThreadGroup) o;
sbuf.append("java.lang.ThreadGroup[name=");
sbuf.append(tg.getName());
sbuf.append(", maxpri=");
sbuf.append(tg.getMaxPriority());
sbuf.append("]");
Thread[] t = new Thread[tg.activeCount()];
tg.enumerate(t);
for(int i = 0; i < t.length; i++) {
sbuf.append(Layout.LINE_SEP);
sbuf.append(" Thread=[");
sbuf.append(t[i].getName());
sbuf.append(",");
sbuf.append(t[i].getPriority());
sbuf.append(",");
sbuf.append(t[i].isDaemon());
sbuf.append("]");
}
return sbuf.toString();
} else {
// this is the best we can do
return o.toString();
}
}
java.lang.ThreadGroup[name=main, maxpri=10]
Thread=[main,5,false]
The boolean value in thread information is the value returned
by Thread#isDaemon . |