1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

mehrere (gleiche) Timertasks gleichzeitig abarbeiten

  • Hannes
  • 8. Oktober 2006 um 17:24
  • Unerledigt
  • Hannes
    4
    Hannes
    Mitglied
    Punkte
    105
    Beiträge
    14
    • 8. Oktober 2006 um 17:24
    • #1

    Hallo!

    Ich würde gerne immer wenn ein bestimmtes Event auftritt, um sagen wir 5 Minuten verzögert einen TimerTask starten. Mein Problem dabei ist, dass immer der als letzter gestartete Task den vorherigen anscheinend abbricht. Ich würde aber gerne alle parallel ablaufen lassen. Muss ich da irgendwas spezielles beachten? Oder geht das überhaupt nicht?

    Jetzt schon mal einen großen Dank für die Hilfe!

    falls es hilft, hier ein kleiner Code-Auszug:

    Timer timer = new Timer();
    Calendar kEvent = Calendar.getInstance();

    public void isEvent(Event e) {
    this.kEvent = Calendar.getInstance();
    kEvent.setTimeInMillis(kEvent.getTimeInMillis()+ 60000);
    Date dt = new Date();
    dt = kEvent.getTime();
    timer.schedule(new checkK(), dt);
    }

    class checkK extends TimerTask{
    public void run(){
    long m = kEvent.getTimeInMillis();
    ...
    try{
    ...
    timer.cancel();
    timer = new Timer();
    }
    catch(Exception e){
    ...
    }
    }
    }

  • Swoncen
    22
    Swoncen
    Mitglied
    Reaktionen
    1
    Punkte
    5.331
    Beiträge
    993
    • 8. Oktober 2006 um 19:02
    • #2

    Ich hab noch nie mit Timern in Java gearbeitet, aber ich nehm an die Methode "run" ist mit "onTimer()" aus der WINAPI ident. Von daher fällt mir auf, dass der Timer global ist und du den aktuellen Event immer mit cancel() abbrichst und neu initialisierst. Als Lösung könntest du ja ein Array, oder eine Liste an Timer-Instanzen bereitstellen, und neue Events einfach durch einen neuen Timer starten.

    640K ought to be enough for anybody. :eek2:

  • sauzachn
    17
    sauzachn
    Mitglied
    Reaktionen
    51
    Punkte
    3.101
    Beiträge
    606
    • 8. Oktober 2006 um 23:37
    • #3

    Warum nicht mit Threads arbeiten? Das scheint doch genau ein Einsatz für sie zu sein.

    Dipper dipper dii dipper dii dipper dii duuu

  • Lord Binary
    18
    Lord Binary
    Mitglied
    Reaktionen
    11
    Punkte
    3.301
    Beiträge
    647
    • 9. Oktober 2006 um 00:06
    • #4

    Welche Timer sind denn überahupt gemeint/genutzt ?
    java.util.Timer ?
    Quartz ?
    Eigene Timer Klasse ?

    [Edit]
    Der Code sieht stark nach Java.util.Timer aus, diese Angabe hätte trotzdem ned geschadet
    [/Edit]

    Meine Empfehlung: Quartz verwenden :)


    Trading for a living [equities,futures,forex]

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung