Hallo,
ich möchte in regelmäßigenZeiten, alle 30 Minuten, ein Kamerafoto machen. Weiterhin sollen in regelmäßigen Abständen die Fotos ausgewertet werden. Im Grunde würde sich die Klasse Timer hier anbieten.
Problem an der Sache ist, die TimerTask werden nacheinander ausgeführt. Angenommen die Fotoverarbeitung würde 12:00 starten und 5 Minute dauern (übertrieben). Ebenfalls soll um 12:00 ein Foto gemacht werden. Die Methode zum Foto machen würde also ca. erst 12:05 ausgeführt werden. Je länger das Programm läuft umso weiter Entfernt sich die Ausführungszeit von der geplanten Ausführungszeit. So weit ich gesehen habe kann man beim Timer nur Zeitintervalle und keine genauen Zeiten angeben? Also ich kann nur sagen "Starte 12:00 und danach alle 30 Minuten". Auch hier scheint es das Problem zu geben, dass er wirklich nur versucht immer 30 Minuten vom letzten Ausführungszeitpunkt zu zählen und nicht versteht, dass er eigentlich 12:30, 13:00, 13:30 usw. was machen soll. Kann auch sein, dass ich bisher ein paar Methoden vom Timer übersehen habe und es trotzdem irgendwie geht.
Aber Prinzipiell sollte das Programm folgendes können:
-die Tasks sollten zu festen Uhrzeiten ausgeführt werden und so, dass sich bei einer Laufzeit von mehreren Tagen die Ausführungszeit nicht verschiebt.
-TimerTasks entweder parallel ausführen, damit Tasks die lange dauern andere Tasks nicht unnötig behindern.
-den Tasks Prioritäten geben. Die Fotoverarbeitung kann ja mal angehalten werden wenn ein Foto gemacht werden soll.
mfg
ich möchte in regelmäßigenZeiten, alle 30 Minuten, ein Kamerafoto machen. Weiterhin sollen in regelmäßigen Abständen die Fotos ausgewertet werden. Im Grunde würde sich die Klasse Timer hier anbieten.
Problem an der Sache ist, die TimerTask werden nacheinander ausgeführt. Angenommen die Fotoverarbeitung würde 12:00 starten und 5 Minute dauern (übertrieben). Ebenfalls soll um 12:00 ein Foto gemacht werden. Die Methode zum Foto machen würde also ca. erst 12:05 ausgeführt werden. Je länger das Programm läuft umso weiter Entfernt sich die Ausführungszeit von der geplanten Ausführungszeit. So weit ich gesehen habe kann man beim Timer nur Zeitintervalle und keine genauen Zeiten angeben? Also ich kann nur sagen "Starte 12:00 und danach alle 30 Minuten". Auch hier scheint es das Problem zu geben, dass er wirklich nur versucht immer 30 Minuten vom letzten Ausführungszeitpunkt zu zählen und nicht versteht, dass er eigentlich 12:30, 13:00, 13:30 usw. was machen soll. Kann auch sein, dass ich bisher ein paar Methoden vom Timer übersehen habe und es trotzdem irgendwie geht.
Aber Prinzipiell sollte das Programm folgendes können:
-die Tasks sollten zu festen Uhrzeiten ausgeführt werden und so, dass sich bei einer Laufzeit von mehreren Tagen die Ausführungszeit nicht verschiebt.
-TimerTasks entweder parallel ausführen, damit Tasks die lange dauern andere Tasks nicht unnötig behindern.
-den Tasks Prioritäten geben. Die Fotoverarbeitung kann ja mal angehalten werden wenn ein Foto gemacht werden soll.
mfg
Zuletzt bearbeitet: