class BaseThread
types
public static ThreadDef ::
p : nat1
isP : bool;
instance variables
protected period : nat1 := 1;
protected isPeriodic : bool := true;
protected registeredSelf : BaseThread;
protected timeStamp : TimeStamp := TimeStamp`GetInstance();
operations
protected BaseThread : BaseThread ==> BaseThread
BaseThread(t) ==
(registeredSelf:= t;
timeStamp.RegisterThread(registeredSelf);
if(not timeStamp.IsInitialising())
then start(registeredSelf);
);
protected Step : () ==> ()
Step() ==
is subclass responsibility;
thread
(if isPeriodic
then (while true
do
(Step();
timeStamp.WaitRelative(period)
)
)
else (Step();
timeStamp.WaitRelative(0);
timeStamp.UnRegisterThread(registeredSelf);
);
);
end BaseThread
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|