org.gudy.azureus2.core3.util
Class ThreadPool

java.lang.Object
  extended by org.gudy.azureus2.core3.util.ThreadPool

public class ThreadPool
extends Object


Constructor Summary
ThreadPool(String _name, int _max_size)
           
ThreadPool(String _name, int _max_size, boolean _queue_when_full)
           
 
Method Summary
protected static void checkAllTimeouts()
           
protected  void checkTimeouts()
           
protected  void checkWarning()
           
 void deregisterThreadAsChild(org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker parent)
           
 int getMaxThreads()
           
 String getName()
           
 AERunnable[] getQueuedTasks()
           
 int getQueueSize()
           
 int getRunningCount()
           
 AERunnable[] getRunningTasks()
           
 boolean isFull()
           
 boolean isQueued(AERunnable task)
           
 void registerThreadAsChild(org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker parent)
           
 org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker run(AERunnable runnable)
           
 org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker run(AERunnable runnable, boolean high_priority, boolean manualRelease)
           
protected  void runIt(AERunnable runnable)
           
 void setExecutionLimit(long millis)
           
 void setLogCPU()
           
 void setMaxThreads(int max)
           
 void setReservedThreadCount(int res)
           
 void setThreadPriority(int _priority)
           
 void setWarnWhenFull()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThreadPool

public ThreadPool(String _name,
                  int _max_size)

ThreadPool

public ThreadPool(String _name,
                  int _max_size,
                  boolean _queue_when_full)
Method Detail

checkAllTimeouts

protected static void checkAllTimeouts()

setWarnWhenFull

public void setWarnWhenFull()

setLogCPU

public void setLogCPU()

getMaxThreads

public int getMaxThreads()

setThreadPriority

public void setThreadPriority(int _priority)

setExecutionLimit

public void setExecutionLimit(long millis)

run

public org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker run(AERunnable runnable)

run

public org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker run(AERunnable runnable,
                                                                    boolean high_priority,
                                                                    boolean manualRelease)
Parameters:
runnable -
high_priority - inserts at front if tasks queueing

runIt

protected void runIt(AERunnable runnable)

checkWarning

protected void checkWarning()

getQueuedTasks

public AERunnable[] getQueuedTasks()

getQueueSize

public int getQueueSize()

isQueued

public boolean isQueued(AERunnable task)

getRunningTasks

public AERunnable[] getRunningTasks()

getRunningCount

public int getRunningCount()

isFull

public boolean isFull()

setMaxThreads

public void setMaxThreads(int max)

setReservedThreadCount

public void setReservedThreadCount(int res)

checkTimeouts

protected void checkTimeouts()

getName

public String getName()

registerThreadAsChild

public void registerThreadAsChild(org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker parent)

deregisterThreadAsChild

public void deregisterThreadAsChild(org.gudy.azureus2.core3.util.ThreadPool.threadPoolWorker parent)