tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
355
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    moin

    Wirft ein Thread irgendeinen Event wenn er fertig ist?

    Oder besser gesagt, wie kann ich wissen wann der Thread zu ende ohne andauernd die ThreadState abzufragen

    mfg broetchen
     

  2. #2
    Avatar von Asterix-Ac
    Asterix-Ac Asterix-Ac ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Ort
    Aachen (NRW)
    Beiträge
    215
    Hi broetchen,

    - versuche es doch mal mit der Thread-Methode Join. Der aufrufende Thread (im Regelfall der Mainthread) wird angehalten und erst nach beenden des Threads wird an der Stelle weiter gemacht, wo join aufgerufen wurde.

    - Wenn der Mainthread nicht angehalten werden darf, kannst Du noch mit der isAlive Eigenschaft den Ausführungsstatus zu gegebener Zeit abfragen.

    - Du kannst Dir auch ein Flag mit einer boolschen Variablen setzen. Wenn die Methode, die im zweiten Thread läuft, zuende ist, setzt Du das Flag auf true.

    - Ein Thread läuft übrigens immer 20ms, dann der nächste und ...

    Asterix
     

  3. #3
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    moin


    d.h. sowas wie einen Event gibt es nicht

    mein Problem ist eigentlich der Bildschirmaufbau.
    Während der OnLoad-Methode starte ich eine recht rechner-intensive Rechenkette die anscheinend soviel CPU-Zeit verblässt, dass der Bildschirmaufbau hinterherhinkt.

    Das wollte ich mittels eines Threads eigentlich beheben, nur kann ich mit dem Rest der Berechnung erst dann weitermachen, wenn der Thread beendet worden ist.

    Da hab ich mir gedacht, es gibt vielleicht nen "ThreadFinished"-Event oder sowas!?

    mfg broetchen
     

  4. #4
    Avatar von Asterix-Ac
    Asterix-Ac Asterix-Ac ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Ort
    Aachen (NRW)
    Beiträge
    215
    Hallo broetchen,

    wie wäre es, wenn Du zwischendurch in der Rechenkette ein paar Mal Application.DoEvents() aufrufst.
    Damit werden alle ausstehenden Operationen ausgeführt.

    Asterix
     

  5. #5
    Rippa_HD Rippa_HD ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    44
    Du kannst dir selber das Finish Event machen.

    Du machst einfach nen try catch finally block um den Inhalt der Thread Methode und im finally schubst du irgend ein Event an. Der Thread läuft dann so lange weiter bis das Event verarbeitet wurde.

    Zu beachten ist halt, dass das Event dann auch in diesem Thread ausgeführt wird, wenn du etwas machen willst NACHDEM der Thread zu Ende ist kannst dus nur über nen Flag machen
     

Ähnliche Themen

  1. Warten auf Thread ende
    Von MusiumInCapitiss im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 28.09.10, 16:58
  2. URL abfangen
    Von kerstel im Forum Hosting & Webserver
    Antworten: 9
    Letzter Beitrag: 14.04.08, 11:42
  3. Thread-Ende erkennen [BrettvormKopf.class]
    Von katerTom im Forum Java
    Antworten: 4
    Letzter Beitrag: 22.10.07, 11:30
  4. Thread A stösst Änderung in Thread B an. Aber wie?
    Von BeaTBoxX im Forum .NET Café
    Antworten: 12
    Letzter Beitrag: 13.12.06, 11:52
  5. Antworten: 19
    Letzter Beitrag: 12.07.02, 11:13