Job nur zur bestimmten Uhrzeit starten

drob

Mitglied
moinsen,
(meine suche hatte mal wieder keinen erfolg ... oder ich die falschen suchbegriffe)

Das Programm soll durchgehend laufen,
und wenn die "Zeit reif ist" es z.b. 22 uhr ist, dann möchte ich gerne einen thread starten.

eine überlegung meinerseits wäre, am ende des ausgeführten threads die verbleibende zeit bis 22 uhr auszurechen und einen wait/sleep(welches genau weiss ich gerade nicht) zu machen...

...
 
es ist kaum zu glauben, aber ich habe es entlich geschaft die timer einzusetzen.

doch irgendwie scheinen die nicht für den dauerbetrieb zu sein,
mein definierter timertask wird eine ganze zeit ausgeführt,
und stoppt dann irgendwann einfach von alleine ...

hat jemand evtl eine idee ?
 
Ich würde mir ein TaskInterface definieren mit getTime() und run(), davon würde ich dann dein Taskobjekt ableiten, dass du zu einer bestimmten Uhrzeit ausführen möchtest.

Objekte davon dann in eine Queue speichern, z.B. Liste, etc.

Dann einen Haupthread, der jede Minute die Liste prüft, ob darin ein Task enthalten ist, der jetzt laufen soll, falls ja, run() aufrufen und in der run Methode den neuen Thread starten.

So hättest du das ganze ein wenig gekapselt und du kannst auch gleich zig Tasks definieren.

Gruß
Flo
 
Zurück