zinger.util
Class ThreadLimiter

java.lang.Object
  extended by zinger.util.ThreadLimiter

public class ThreadLimiter
extends java.lang.Object


Nested Class Summary
static class ThreadLimiter.RunnableException
           
 
Field Summary
protected static ObjectGenerator COUNTER_GENERATOR
           
protected  ObjectRecycler counterRecycler
           
protected  int maxThreadCount
           
protected  int maxThreadWaits
           
protected  java.util.Map threads
           
protected  long threadTimeout
           
 
Constructor Summary
ThreadLimiter(int maxThreadCount, long threadTimeout, int maxThreadWaits)
           
 
Method Summary
protected  java.lang.String getCategoryName()
           
 void run(java.lang.Runnable toRun)
           
 java.lang.StringBuffer status(java.lang.StringBuffer sb)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COUNTER_GENERATOR

protected static final ObjectGenerator COUNTER_GENERATOR

maxThreadCount

protected final int maxThreadCount

threadTimeout

protected final long threadTimeout

maxThreadWaits

protected final int maxThreadWaits

threads

protected final java.util.Map threads

counterRecycler

protected final ObjectRecycler counterRecycler
Constructor Detail

ThreadLimiter

public ThreadLimiter(int maxThreadCount,
                     long threadTimeout,
                     int maxThreadWaits)
Method Detail

getCategoryName

protected java.lang.String getCategoryName()

run

public final void run(java.lang.Runnable toRun)
               throws TimeoutException,
                      java.lang.InterruptedException,
                      java.lang.Exception
Throws:
TimeoutException
java.lang.InterruptedException
java.lang.Exception

status

public java.lang.StringBuffer status(java.lang.StringBuffer sb)