tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Shakie
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
666
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    july july ist offline Mitglied Gold
    Registriert seit
    May 2011
    Beiträge
    103
    Hallo zusammen,

    hab gerade folgendes Problem. Ich hab Windows-Form mit einem Backgroundworker- Thread. Der Backgroundworker-Thread ist für Kommunikation zuständig, d.h. dass die meiste Zeit er im blockierten Zustand ist, bzw. ich kann ihn noch über
    Code cpp:
    1
    2
    3
    4
    
    while (!listener.Pending())
    {
    ...
    }
    ansprechen.
    Nach einem Knopfdruck möchte ich den Backgroundworker-Thread beenden. Ich hab mir überlegt dass ich dafür eine Variable an den bw-thread übergebe. Die Frage ist, wie erreiche ich, dass der Bw-Thread immer den aktuellen Wert von der Variable bekommt. Vielen Dank im voraus.

    Grüße July
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    deklariere die Variable als volatile.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    july july ist offline Mitglied Gold
    Registriert seit
    May 2011
    Beiträge
    103
    geht das bei c# auch?
     

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Ja, geht auch bei C#, siehe volatile (MSDN).
    Alternativ kannst du aber die CancelAsync-Methode des BackgroundWorkers aufrufen, wenn du vorher die Eigenschaft WorkerSupportsCanellation auf True gesetzt hast. Daraufhin wird dann die CancelllationPending-Eigenschaft auf True gesetzt. Diese kannst du im Background-Thread überprüfen und entsprechend handeln. Es entspricht also deiner bisherigen Idee, nur ist sie bereits implementiert und du musst es nicht mehr selber machen
    july bedankt sich. 
    hihi = -h²

Ähnliche Themen

  1. Thread beenden
    Von Many0815 im Forum .NET Application und Service Design
    Antworten: 6
    Letzter Beitrag: 05.07.11, 15:08
  2. Thread Beenden?
    Von jiim im Forum Java Grundlagen
    Antworten: 6
    Letzter Beitrag: 07.02.09, 16:49
  3. BackgroundWorker vs. Thread
    Von d-Stench im Forum .NET Application und Service Design
    Antworten: 2
    Letzter Beitrag: 09.12.07, 16:10
  4. Thread beenden
    Von Winner im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 07.12.07, 00:15
  5. Thread beenden
    Von MrPHP im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 12.05.04, 16:13

Stichworte