|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
schmitzm.lang.WorkingThread
public abstract class WorkingThread
Diese Klasse stellt einen "arbeitenden" Thread dar (im Gegensatz zum
"konkurrierenden" Thread, der mit anderen Threads auf gemeinsame Ressourcen
zugreift). Der WorkingThread
kann
start()
)pause()
)Thread.resume()
)terminate()
)
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
protected Vector |
listeners
Speichert die Listener, die auf den Thread horchen. |
protected int |
mode
Speichert den aktuellen Thread-Status. |
static int |
MODE_PAUSE
Modus "Thread pausiert und kann fortgesetzt werden". |
static int |
MODE_READY
Modus "Thread ist bereit, gestartet zu werden". |
static int |
MODE_RUN
Modus "Thread ist initialisiert, und laeuft". |
static int |
MODE_TERMINATE
Modus "Thread ist beendet". |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
WorkingThread()
Erzeugt einen neuen Thread. |
|
WorkingThread(String name)
Erzeugt einen neuen Thread. |
Method Summary | |
---|---|
boolean |
addThreadListener(WorkingThreadListener listener)
Fuegt einen Listener hinzu. |
protected void |
checkBreakingCommands()
Prueft, on ein Unterbrechnung-Signal erfolgt ist ( pause()
oder terminate() ). |
protected void |
fireThreadInitialised()
Informiert alle WorkingThreadListener darueber, dass der Thread
initialisiert wurde. |
protected void |
fireThreadPaused()
Informiert alle WorkingThreadListener darueber, dass der Thread
pausiert. |
protected void |
fireThreadResumed()
Informiert alle WorkingThreadListener darueber, dass der Thread
(nach einer Pause) wieder arbeitet. |
protected void |
fireThreadStarted()
Informiert alle WorkingThreadListener darueber, dass der Thread
gestartet wurde. |
protected void |
fireThreadStopped()
Informiert alle WorkingThreadListener darueber, dass der Thread
gestoppt wurde oder ausgelaufen ist. |
int |
getMode()
Liefert den Status, in dem sich der Thread gerade befindet. |
protected void |
goSleep()
Legt den Thread schlafen, bis er durch wakeUp()
wieder aktiviert wird. |
boolean |
isRunning()
Checkt, ob der Thread aktuell am arbeiten ist. |
boolean |
isSleeping()
Checkt, ob der Thread aktuell am warten ist. |
void |
pause()
Beendet (temporaer) die Arbeit des Threads. |
protected abstract void |
performDispose()
Implementiert alle Aktionen, die nach Auslaufen des Threads durchzufuehren sind. z.B. sollte der Thread alle verteilten Listener von anderen Objekten wieder entfernen, damit er nicht mehr informiert wird. |
protected abstract void |
performInit()
Wird beim allerersten Aufruf der start() -Methode
aufgerufen, um Thread-Komponenten zu initialisieren. |
protected abstract void |
performWork()
Implementiert den Arbeitsablauf des Threads. |
boolean |
removeThreadListener(WorkingThreadListener listener)
Entfernt einen Listener von dem Thread. |
void |
run()
Implementiert den Arbeitsablauf des Threads. |
void |
start()
Startet den Thread (erneut). |
void |
terminate()
Beendet den Thread, in dem die Run-Methode auslaeuft. |
String |
toString()
Liefert den Namen des Threads. |
protected void |
wakeUp()
Aktiviert den Thread wieder, nachdem er durch goSleep()
Schlafen gelegt wurde. |
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 |
---|
public static final int MODE_READY
public static final int MODE_RUN
public static final int MODE_TERMINATE
public static final int MODE_PAUSE
protected int mode
protected Vector listeners
Constructor Detail |
---|
public WorkingThread(String name)
name
- Bezeichnung fuer den Threadpublic WorkingThread()
Method Detail |
---|
public int getMode()
public String toString()
super.toString()
zurueckgegeben.
toString
in class Thread
protected void goSleep()
wakeUp()
wieder aktiviert wird. Loest fireThreadPaused()
aus.
wakeUp()
protected void wakeUp()
goSleep()
Schlafen gelegt wurde. Loest fireThreadResumed()
aus.
goSleep()
public void start()
performInit()
-Methode aufgerufen.
start
in class Thread
performInit()
public void pause()
start()
- oder step()
-Methode kann die Arbeit
wieder aufgenommen werden.
public void terminate()
public boolean isRunning()
public boolean isSleeping()
pause()
public void run()
fireThreadStarted()
aus und fireThreadStopped()
bevor der Thread
auslaeuft.
run
in interface Runnable
run
in class Thread
start()
,
performWork()
protected void checkBreakingCommands()
pause()
oder terminate()
).pause()
wird der Thread sofort schlafen gelegt. Bei
terminate()
wird eine ThreadDeath
-Exception
geworfen. Diese Methode kann/sollte an geeigneten Stellen im
Arbeitsablauf aufgerufen werden.
protected abstract void performInit()
start()
-Methode
aufgerufen, um Thread-Komponenten zu initialisieren.
Sollte fireThreadInitialised()
aufrufen!
protected abstract void performWork()
checkBreakingCommands()
-Methode aufgerufen werden, um
auf Pause- oder Terminate-Signale zu reagieren.
protected abstract void performDispose()
run()
-Methode
aufgerufen.
public boolean addThreadListener(WorkingThreadListener listener)
true
wenn dass Hinzufuegen erfolgreich war (siehe
Vector.add(Object)
)public boolean removeThreadListener(WorkingThreadListener listener)
true
wenn dass Entfernen erfolgreich war (siehe
Vector.remove(Object)
)protected void fireThreadInitialised()
WorkingThreadListener
darueber, dass der Thread
initialisiert wurde.
protected void fireThreadStarted()
WorkingThreadListener
darueber, dass der Thread
gestartet wurde.
protected void fireThreadPaused()
WorkingThreadListener
darueber, dass der Thread
pausiert.
protected void fireThreadResumed()
WorkingThreadListener
darueber, dass der Thread
(nach einer Pause) wieder arbeitet.
protected void fireThreadStopped()
WorkingThreadListener
darueber, dass der Thread
gestoppt wurde oder ausgelaufen ist.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |