de.jsystems.tools.thread
Class ThreadPool

java.lang.Object
  extended byjava.lang.Thread
      extended byde.jsystems.tools.thread.ThreadPool
All Implemented Interfaces:
Runnable

public final class ThreadPool
extends Thread

Dieser Pool enthält eine Menge von Threads. Bei bedarf können diese aus dem Pool geholt werden. Sobald ein Thread fertig ist, wandert er automatisch wieder in den Bereitschaftsmodus.

Version:
1.0
Author:
Jens Homm

Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ThreadPool()
          Erzeugt den ThreadPool und legt zehn ThreadObjekt-Instanzen imn Pool an.
 
Method Summary
(package private)  void destroyThreadPool()
          Beendet alle Threads innerhalb des Pools.
 ThreadObject getThread()
          Gibt einen Thread aus dem Pool zurück.
 ThreadObject getThread(String name)
          Sucht im Pool einen Thread mit dem übergebenen Namen.
 void run()
          Methode aus der Elternklasse.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ThreadPool

public ThreadPool()
Erzeugt den ThreadPool und legt zehn ThreadObjekt-Instanzen imn Pool an.

Method Detail

destroyThreadPool

void destroyThreadPool()
Beendet alle Threads innerhalb des Pools. Die Methode kann nur vom ThreadManager aufgerufen werden. Alle listener auf ExecuteObjekten werden benachrichtigt, das der Thread gekillt wurde.


getThread

public ThreadObject getThread()
Gibt einen Thread aus dem Pool zurück.

Returns:
Der nächste freie Thread aus dem Pool

getThread

public ThreadObject getThread(String name)
Sucht im Pool einen Thread mit dem übergebenen Namen. Der erste, der mit diesem Namen gefunden wird, wird zurückgegeben. Falls es keinen Thread mit diesem Namen gibt, wird NULL zurückgegeben.

Parameters:
name - Der Name des gesuchten Threads
Returns:
Entweder der Thread mit dem gesuchten Namen oder NULL.

run

public void run()
Methode aus der Elternklasse. Hier wird alle fünf Sekunden der Pool geprüft, um nicht benutzte Threads wieder zu entfernen. Sobald wieder zehn Threads im Pool sind, macht die Methode nichts mehr, bis sich die Anzahl der Threads wieder erhöht hat.