|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.MultiTaskManager
public class MultiTaskManager
Verwaltet eine Warteschlange und eine Liste von Tasks. Ein Auftrag aus der Warteschlage wird dem naechsten freien Task zugewiesen. Wenn kein Task frei ist, wartet der MultiTaskManager.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
protected RingBuffer<MultiTask> |
freeTaskQueue
|
protected RingBuffer<ResultData> |
inputDataQueue
|
protected java.util.ArrayList<MultiTask> |
taskList
|
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task |
---|
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, persMgr, ringOfDeathListener, taskStepListeners |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
MultiTaskManager(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData,
java.lang.String taskName)
|
Method Summary | |
---|---|
void |
addTask(MultiTask task)
Fuegt ein MultiTask hinzu und startet ihn, falls der MultitaskManager selbst schon gestartet ist. |
int |
getTaskNum()
|
void |
pushFreeTask(MultiTask task)
Diese Methode wird von einem Task aufgerufen, wenn dieser Task mit der Bearbeitung eines Auftrages fertig ist und einen neuen Auftrag entgegennehmen kann. |
void |
removeTask()
Entfernt einen Subtask aus der Liste der verfuegbaren Tasks. |
void |
ringOfDeath(Task doomedTask)
Wird von einem Task vor dem Verlassen der Hauptschleife aufgerufen, wenn dem Task dieses Interface im Konstruktor uebergeben wurde.. |
void |
run()
|
void |
start()
|
java.lang.String |
toString()
|
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task |
---|
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected RingBuffer<ResultData> inputDataQueue
protected RingBuffer<MultiTask> freeTaskQueue
protected java.util.ArrayList<MultiTask> taskList
Constructor Detail |
---|
public MultiTaskManager(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData, java.lang.String taskName)
Method Detail |
---|
public void start()
start
in class java.lang.Thread
public void addTask(MultiTask task)
task
-
ConfigurationException
public void removeTask()
public int getTaskNum()
public void pushFreeTask(MultiTask task)
task
- public void run()
run
in interface java.lang.Runnable
run
in class java.lang.Thread
public void ringOfDeath(Task doomedTask)
RingOfDeathListener
ringOfDeath
in interface RingOfDeathListener
doomedTask
- Task, der gerade beendet wirdpublic java.lang.String toString()
toString
in class java.lang.Thread
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |