C # Timer oder Thread.Sleep
Ich führe einen Windows-Dienst aus und verwende eine Schleife und Thread.Sleep, um eine Aufgabe zu wiederholen. Wäre es besser, eine Timer-Methode zu verwenden?
Wenn ja, wäre ein Codebeispiel großartig
Ich benutze derzeit diesen Code, um zu wiederholen
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
}
}