Konstruktor: PeriodicTask(action, periodMilliseconds, excutingNode)
Die Aufgabe
PeriodicTask
führt einen Code in regelmäßigen Zeitintervallen aus.PeriodicTask(Action action, int periodMilliseconds, IUANode executingNode);
Argumente
- action(Action)
- Die auszuführende Methode bzw. Lambda-Ausdruck.
- periodMilliseconds(int)
- Die Zeit zwischen den Ausführungen der Methode bzw. Lambda-Ausdrucks.TIPP:Betrachten Sie hierfür das folgende Beispiel:
- Für das ArgumentperiodMillisecondswurde „1000 ms“ festgelegt.
- PeriodicTask führt eine Methode aus, für deren Abschluss 500 ms benötigt werden.
- PeriodicTask wird alle 1500 ms ausgeführt (WertperiodMilliseconds+ Ausführungszeit der Methode).
- executingNode(IUANode)
- Der Knoten, in dem der Code ausgeführt wird.
Beispiel
Die Aufgabe
myPeriodicTask
führt die Methode IncrementVariable()
jede Sekunde (1000 Millisekunden) aus. Die Methode erhöht den Wert der Variable variable1
bei jeder Ausführung um eine Werteinheit.public override void Start() { myPeriodicTask = new PeriodicTask(IncrementVariable, 1000, LogicObject); myPeriodicTask.Start(); } public override void Stop() { myPeriodicTask.Dispose(); } private void IncrementVariable() { variable1.Value = variable1.Value + 1; } private PeriodicTask myPeriodicTask;
TIPP:
In diesem Beispiel hat die Methode
IncrementVariable()
kein Argument PeriodicTask
, weil aufgrund der Einfachheit des Codes kein Abbruch der Aufgabe erforderlich ist.Rückmeldung geben