Construtor: PeriodicTask(action, periodMilliseconds, excutingNode)
A tarefa
PeriodicTask
executa o código em intervalos regulares de tempo.PeriodicTask(Action action, int periodMilliseconds, IUANode executingNode);
Argumentos
- action(Action)
- O método ou expressão lambda a ser executado.
- periodMilliseconds(int)
- Tempo entre as execuções do método ou da expressão lambda.DICA:Considere o exemplo a seguir:
- O argumentoperiodMillisecondsé definido como 1.000 ms.
- A PeriodicTask executa um método que leva 500 ms para ser concluído.
- A PeriodicTask é executada a cada 1.500 ms (valor deperiodMilliseconds+ tempo de execução do método).
- executingNode(IUANode)
- Nó no qual o código é executado.
Exemplo
A tarefa
myPeriodicTask
executa o método IncrementVariable()
a cada segundo (1000 milissegundos). O método incrementa o valor da variável variable1
em uma unidade cada vez que é executada.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;
DICA:
Neste exemplo, o método
IncrementVariable()
não tem nenhum argumento PeriodicTask
porque a simplicidade do código não requer que a tarefa seja cancelada.Dê sua opinião