2009-04-15 18 views
2

Ich entwickle ein C# -Programm, das verschiedene asynchrone Aufgaben zu unterschiedlichen Zeiten planen kann. Ich brauche eine Lösung, die jede Sekunde aktiviert, um nach auszuführenden Aufgaben zu suchen, und so wenig Ressourcen wie möglich verbraucht. Es muss auch für eine große Anzahl von Aufgaben skaliert werden. Welche davon ist besser zu benutzen, oder gibt es welche?Die beste Methode zum Planen von Aufgaben in C#

1) ein Objekt mit einer System.Timers.Timer 1 zweiten verstrichenen Zeit Verwenden eines Ereignisses auslösen, die Aufgaben oder

2) Unter Verwendung eines separaten Thread, für 1 Sekunde schläft ausführt, und führt dann, wenn es Aufgaben wacht auf oder

3) Etwas ganz anderes.

Antwort

6

System.Threading.Timer ist extrem leicht. Sie könnten für jede Aufgabe einen separaten Timer erstellen, damit der Timer fällig wird, wenn die Aufgabe ausgeführt werden soll.

Intern glaube ich, dass das System verfolgen wird, welcher Timer als nächstes fällig ist, so dass es nur einen Timer zu einem bestimmten Zeitpunkt überwachen muss (source/similar question).

+0

hinzugefügt Verweis auf eine ähnliche Frage –

Verwandte Themen