Meine C# -Anwendung muss alle paar Sekunden eine Aufgabe ausführen. Es ist sehr wichtig, dass die Ausführung genau in diesem Intervall stattfindet; gib oder nimm ein paar Millisekunden.Ausführen einer Aktivität in einem bestimmten Intervall
Ich habe versucht, einen Timer zu verwenden, aber die Zeit ändert sich allmählich nach ein paar Minuten. Der Code von mir ist wie folgt:
System.Timers.Timer timerObj = new System.Timers.Timer(10 * 1000);
timerObj.Elapsed += timerObj_Elapsed;
timerObj.AutoReset = true;
timerObj.Start();
static void timerObj_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DateTime currentTime = DateTime.Now;
Console.WriteLine(currentTime.ToString("HH:mm:ss.fff"));
}
Gibt es einen besseren Weg, diese Art von Aktivität zu tun?
könnten Sie haben mehr Glück mit einem Background Tests für Timelapse, aber es ist immer eine sehr geringe Verzögerung, da alles setzt sein würde. –
Ich habe das gleiche mit der Backgroundworker-Klasse versucht. Aber die Drift ist immer noch da. –