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()