Constructeur : PeriodicTask(action, periodMilliseconds, excutingNode)
Une tâche
PeriodicTask
exécute le code à intervalles réguliers.PeriodicTask(Action action, int periodMilliseconds, IUANode executingNode);
Arguments
- action(Action)
- Méthode ou expression lambda à exécuter.
- periodMilliseconds(int)
- Durée qui s’écoule pendant que la méthode ou l’expression lambda s’exécute.CONSEIL:Prenons l'exemple suivant :
- L’argumentperiodMillisecondsest défini sur 1 000 ms.
- La PeriodicTask exécute une méthode dont l’exécution prend 500 ms.
- La PeriodicTask s’exécute toutes les 1 500 ms (valeurperiodMilliseconds+ temps d’exécution de la méthode).
- executingNode(IUANode)
- Nœud dans lequel le code s’exécute.
Exemple
La tâche
myPeriodicTask
exécute la méthode IncrementVariable()
chaque seconde (1 000 millisecondes). La méthode incrémente la valeur de la variable variable1
d’une unité chaque fois qu’elle s’exécute.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;
CONSEIL:
Dans cet exemple, la méthode
IncrementVariable()
n’a pas d’argument PeriodicTask
, car la simplicité de son code ne nécessite pas l’annulation de la tâche.Fournir une réponse