diff src/org/dancres/blitz/stats/ThreadStat.java @ 0:3dc0c5604566

Initial checkin of blitz 2.0 fcs - no installer yet.
author Dan Creswell <dan.creswell@gmail.com>
date Sat, 21 Mar 2009 11:00:06 +0000
parents
children 6f68e94c1fb8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/dancres/blitz/stats/ThreadStat.java	Sat Mar 21 11:00:06 2009 +0000
@@ -0,0 +1,39 @@
+package org.dancres.blitz.stats;
+
+public class ThreadStat implements Stat, StatGenerator {
+    private long theId = StatGenerator.UNSET_ID;
+    private int theThreadCount = 0;
+
+    ThreadStat() {
+    }
+
+    ThreadStat(long anId, int aThreadCount) {
+        theId = anId;
+        theThreadCount = aThreadCount;
+    }
+
+    public void setId(long anId) {
+        theId = anId;
+    }
+
+    public long getId() {
+        return theId;
+    }
+
+    public synchronized Stat generate() {
+        ThreadGroup myGroup = Thread.currentThread().getThreadGroup();
+
+        int myActiveCount = myGroup.activeCount();
+
+        while ((!myGroup.getName().equals("main")) &&
+            (myGroup = myGroup.getParent()) != null) {
+            myActiveCount += myGroup.activeCount();
+        }
+
+        return new ThreadStat(theId, myActiveCount);
+    }
+
+    public String toString() {
+        return "Thread count: " + theThreadCount;
+    }
+}