public class MultiTaskManager extends Task implements RingOfDeathListener
Thread.State, Thread.UncaughtExceptionHandler
Modifier and Type | Field and Description |
---|---|
protected RingBuffer<MultiTask> |
freeTaskQueue |
protected RingBuffer<ResultData> |
inputDataQueue |
protected ArrayList<MultiTask> |
taskList |
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, persMgr, ringOfDeathListener, taskStepListeners
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Constructor and Description |
---|
MultiTaskManager(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData,
String taskName) |
Modifier and Type | Method and Description |
---|---|
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() |
String |
toString() |
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask
activeCount, checkAccess, clone, 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
protected RingBuffer<ResultData> inputDataQueue
protected RingBuffer<MultiTask> freeTaskQueue
public MultiTaskManager(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData, String taskName)
public void addTask(MultiTask task)
task
- ConfigurationException
public void removeTask()
public int getTaskNum()
public void pushFreeTask(MultiTask task)
task
- public void ringOfDeath(Task doomedTask)
RingOfDeathListener
ringOfDeath
in interface RingOfDeathListener
doomedTask
- Task, der gerade beendet wird