-
El Pollo Diablo
[Java] Zeitgesteuerte Threads abbrechen
Moin,
Der Titel ist vielleicht ein bisschen irreführend, aber ich versuch mal die Situation zu erklären:
Ich möchte gern eine Aufgabe zeitgesteuert und periodisch alle 10 Minuten ausführen. Dies kann man ja im Prinzip leicht mit den Klassen Timer und TimerTask implementieren.
Allerdings hab ich nun das Problem, dass die Aufgabe länger als 10 Minuten dauern kann. Durch die Synchronisierung der einzelnen Threads passiert es nun, dass neue Threads erst auf einem Stack landen und dann abgearbeitet werden. Also:
- Thread A wird gestartet
- Thread B wird nach 10 Minuten gestartet
- Thread B wird in den Stack geladen, da Thread A noch läuft
- Thread A ist fertig
- Thread B wird gestartet
Ich möchte aber, dass Thread B sofort beendet wird, wenn Thread A noch läuft, weil es dazu führen könnte, dass nun zig Threads in den Stack geladen werden.
Hat da jemand vielleicht eine Idee, wie man dies hinbekommen könnte? Ich hab schon versucht was über Google in Erfahrung zu bringen, aber die Ergebnisse waren doch recht mau.
Einfach die Zeitspanne vergrößern ist auch keine Option, da man die Aufgabe dynamisch erweitern kann.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln