|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.jsystems.tools.thread.ThreadManager
Diese Klasse stellt den ThreadManager dar. Dieser verwaltet einen Pool von Threads. Diese Threads können ein ExecuteObject ausführen. Wie oft und mit welchen Intervallen dieses Objekt ausgeführt wird, legt das Objekt selbst fest. Während der Ausführung eines ExecuteObject nimmt der ausführende Thread den Namen des ExecuteObject an. Über diesen Namen kann das Object dann angesprochen werden. Der Name wird auch zum stoppen, restarten und killen der Ausführung benötigt.
Nested Class Summary | |
(package private) class |
ThreadManager.MessageContainer
In dieser Klasse wird eine Message gespeichert mit dem zugehörigen ThreadNamen |
(package private) class |
ThreadManager.TimeObject
Klasse zum speichern eines ExecuteObjects, das zu einer bestimmten Zeit gestartet werden soll |
Method Summary | |
void |
addMessage(String name,
ThreadMessage message)
Fügt für einen Thread eine neue Message hinzu. |
void |
destroy()
Beendet den ThreadManager und alle enthaltenen Threads. |
void |
executeAfter(String threadName,
IExecuteObject executeObject)
Startet den Thread, sobald der Thread mit dem übergeben Namen beendet ist. |
void |
executeAt(long time,
IExecuteObject executeObject)
Startet das übergebene Object, sobald die angegebene Zeit erreicht ist. |
void |
executeInThread(IExecuteObject executeObject)
Setzt das übergebene ExecuteObject in einen Thread und führt die darin enthaltene Methode execute aus.
|
static ThreadManager |
getInstance()
Erzeugt eine Instanz des ThreadMaangers und gibt sie zurück. |
void |
killThread(String name)
Killt den über den Namen spezifizierten Thread. |
void |
reRunThread(String name)
Nimmt die Ausführung der execute()-Methode des Threads wieder auf, der durch den übergebenen Namen identifiziert wird. |
void |
setMessage(String name,
ThreadMessage message)
Diese Methode dient zur Ansteuerung messagegesteuerter Threads. |
void |
stopThread(String name)
Stoppt den über einen Namen identifizierten Thread. |
void |
threadExecuted(ThreadEvent event)
Diese Methode wird aufgerufen, wenn ein Thread fertig ist. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public static ThreadManager getInstance()
public void stopThread(String name)
name
- Der Name des ExecuteObjects, dessen Ausführung angehalten werden soll.public void reRunThread(String name)
name
- Der Name des ExecuteObjects, dessen Ausführung wieder aufgenommen werden soll.public void killThread(String name)
reRunThread(name)
nicht wieder
gestartet werden.
name
- Name des ExecuteObject, dessen Ausführung komplett beendet werden soll.public void addMessage(String name, ThreadMessage message)
name
- Name des Threads, der die Message erhalten soll.message
- Die Message, die an den Thread geschickt wird.public void setMessage(String name, ThreadMessage message)
addMessage
verschickt werden.
Allerdings dürfen messagegesteuerte Threads nicht über addMessage
angesprochen
werden, da es hierbei passieren kann, das der Thread gar nicht mehr reagiert.
name
- Name des Threads, der die Message erhalten soll.message
- Die Message, die an den Thread geschickt wird.public void executeInThread(IExecuteObject executeObject)
execute
aus.
Falls hier NULL übergeben wird, wird eine IllegalArgumentException
ausgel�st.
executeObject
- Das auszuführende Objekt.public void executeAfter(String threadName, IExecuteObject executeObject)
threadName
- Der Name des Threads, auf den mit der ausführung
gewartet werden soll.executeObject
- Das ExecuteObject, das ausgeführt werden soll, wenn
der Thread mit dem angegebenen Namen fertig ist.public void executeAt(long time, IExecuteObject executeObject)
time
stellt die vergangene Zeit
in ms seit dem 01.01.1970 dar.
Die übergebene Zeit wird nicht auf die Millisekunde genau eingehalten, da nur
alle 1000 ms die übergebene Zeit mit der aktuellen Zeit verglichen wird.
time
- Die Zeit in ms, ab der das executeObject ausgeführt werden soll.executeObject
- Das auszuführende Object.public void threadExecuted(ThreadEvent event)
threadExecuted
in interface ThreadListener
public void destroy()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |