class ThreadManager
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.util.Hashtable<java.lang.Long,ThreadElement> |
activeThreads
Abbildung von Protokoll-Id auf den jeweiligen Thread.
|
private static Debug |
debug
Debug Ausgabe
|
private boolean |
die
Zeigt an, dass sich die Threads beenden sollen.
|
private java.util.ArrayList<ThreadElement> |
inactiveThreads
Liste mit den idle Threads.
|
private java.util.ArrayList<ThreadElement> |
stillAlive
Wird zum Herunterfahren verwendet.
|
| Constructor and Description |
|---|
ThreadManager(int maxProtocols) |
| Modifier and Type | Method and Description |
|---|---|
void |
addInactiveThread(ThreadElement thread)
Fügt einen unbeschäftigten Thread hinzu.
|
int |
alive() |
void |
changeId(ThreadElement thread,
long jobId)
Ändert die Protokoll-Id, die einem Thread zugeordnet wird.
|
void |
deactivate(ThreadElement thread)
Deaktiviert einen aktiven Thread und markiert ihn als unbeschäftigt.
|
java.lang.Long[] |
getActiveProtocols()
Liste mit den Protokollen die gerade gesendet / erstellt werden.
|
ThreadElement |
getAvailableThread(long jobId)
Liefert einen unbeschäftigten Thread zurück und entfernt ihn aus
inactiveThreads. |
protected java.lang.String |
getInfo()
Liefert einen String mit den Anfrage und Protokoll-Ids alle Protokolle, die momentan erstellt werden.
|
ThreadElement |
getThread(long jobId)
Liefert den aktiven Thread mit der gegebenen Auftrags-Id zurück.
|
java.util.ArrayList<ThreadElement> |
getThreads()
Gibt alle aktiven Threads zurück
|
boolean |
hasInactiveThreads()
Zeigt ob alle Threads Daten aufbereiten.
|
boolean |
isTerminated()
Zeigt an ob alle Threads beendet wurden.
|
void |
killAll(long timeout)
Bricht alle Aufträge ab und beendet alle Threads.
|
void |
waitTillLaunched()
Wartet, bis alle Threads gestartet wurden.
|
private static final Debug debug
private java.util.Hashtable<java.lang.Long,ThreadElement> activeThreads
private java.util.ArrayList<ThreadElement> inactiveThreads
private java.util.ArrayList<ThreadElement> stillAlive
private boolean die
public ThreadManager(int maxProtocols)
maxProtocols - Anzahl Threads.public void changeId(ThreadElement thread, long jobId)
thread - ThreadjobId - Neue Job-Idpublic int alive()
public java.lang.Long[] getActiveProtocols()
public void killAll(long timeout)
timeout - Zeitspanne, nach der geprüft wirdpublic void waitTillLaunched()
public boolean hasInactiveThreads()
true falls es unbeschäftige Threads gibt, die momentan keine Daten aufbereiten.public void addInactiveThread(ThreadElement thread)
thread - Unbeschäftigter Thread.public ThreadElement getAvailableThread(long jobId)
inactiveThreads.jobId - Auftrags-Id, die dem Thread zugewiesen werden soll.null falls alle Threads beschäftigt sind.public ThreadElement getThread(long jobId)
jobId - Auftrags-Id des gesuchten Threadspublic java.util.ArrayList<ThreadElement> getThreads()
public void deactivate(ThreadElement thread)
thread - Thread, der deaktiviert wird.public boolean isTerminated()
true falls alle Threads beendet wurden.protected java.lang.String getInfo()