C # Timer ou Thread.Sleep
Estou executando um serviço do windows e usando um loop e Thread.Sleep para repetir uma tarefa, seria melhor usar um método de timer?
Se sim, um exemplo de código seria ótimo
Atualmente, estou usando este código para repetir
int curMinute;
int lastMinute = DateTime.Now.AddMinutes(-1).Minute;
while (condition)
{
curMinute = DateTime.Now.Minute;
if (lastMinute < curMinute) {
// do your once-per-minute code here
lastMinute = curMinute;
}
Thread.Sleep(50000); // sleeps for 50 seconds
if (error condition that would break you out of this) {
break; // leaves looping structure
}
}