1Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
666
666
EMPFEHLEN
-
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
ansprechen.Code cpp:1 2 3 4
while (!listener.Pending()) { ... }
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
-
Hallo,
deklariere die Variable als volatile.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
geht das bei c# auch?
-
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
hihi = -h²
Ähnliche Themen
-
Thread beenden
Von Many0815 im Forum .NET Application und Service DesignAntworten: 6Letzter Beitrag: 05.07.11, 15:08 -
Thread Beenden?
Von jiim im Forum Java GrundlagenAntworten: 6Letzter Beitrag: 07.02.09, 16:49 -
BackgroundWorker vs. Thread
Von d-Stench im Forum .NET Application und Service DesignAntworten: 2Letzter Beitrag: 09.12.07, 16:10 -
Thread beenden
Von Winner im Forum C/C++Antworten: 10Letzter Beitrag: 07.12.07, 00:15 -
Thread beenden
Von MrPHP im Forum .NET ArchivAntworten: 1Letzter Beitrag: 12.05.04, 16:13





Zitieren
Login





