|
||||||||||
| 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.Threadpublic void addTask(MultiTask task)
task -
ConfigurationExceptionpublic void removeTask()
public int getTaskNum()
public void pushFreeTask(MultiTask task)
task - public void run()
run in interface java.lang.Runnablerun in class java.lang.Threadpublic void ringOfDeath(Task doomedTask)
RingOfDeathListener
ringOfDeath in interface RingOfDeathListenerdoomedTask - 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 | |||||||||