Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: mehrere Intervallaufgaben in einem Windows Dienst

  Alt 15. Nov 2009, 20:01
Zitat von DataCool:
In meinem speziellen Fall, gibt es 5-8 Threads verschiedene Threads die in verschiedenen Intervallen parallel laufen sollen.
Manche Threads dauern nur ein paar Sekunden(z.B. aufräumen bestimmter Verzeichnisse/FTP Uploads),
andere dauern mehrere Minuten/halbe Stunde(Import von großen Dateien).
Außerdem schliessen sich 2 Threads gegenseitig aus, d.h. es darf nur ein der beiden Threads zur selben Zeit laufen/arbeiten.
...
Hi,

ich würde den Hauptthread des Services als Scheduler schreiben, der bei entsprechenden Voraussetzungen einen der Threads kreiert und startet (der führt selbst Terminate und Delete aus, wenn er fertig ist).

Damit ist die Logik schön getrennt: jeder Thread tut was er tun muss, Voraussetzungen und gegenseitige Abhängigkeiten sind im Mainthread zu programmieren. Für endlos unbeaufsichtigt laufende Sevices ist meiner Meinung nach der Zyklus Create-Execute-Delete für jeden einzelnen Aufruf einer Task am stabilsten. Der Aufwand für Create und Delete ist bei den von dir beschriebenen Aufgaben vernachlässigbar.

Gruss Reinhard
  Mit Zitat antworten Zitat