Frage zu Threads und BeginInvoke

07/02/2008 - 21:29 von Martin Bürkle | Report spam
Hallo NG,

wir haben gerage ein interessantes Problem zu Threads.

Wirhaben eine For-Schleife, in der eine Member Variable hochgezàhlt
wird. Dann haben wir 2 Threads. Sie lesen die Membervariable aus und
schrieben die Werte in eine Textbox bzw. eine eine Progressbar. Diese
Threads synchronisieren sich nicht untereinander. Die Controls werden
natürlich über die Invoke Methode aktualisiert.

Jetzt haben wir folgendes Phànomen:
Die Threads wechseln sich zwar untereinander ab, es wird aber immer erst
die Textbox, und danach die Progressbar upgedatet (Also die Tetbox zàhlt
erst von 0 bis x und dann die Progressbar) je nachdem in welcher
Reihenfolge der Thread gestartet wird.

Kann uns jemand erklàren warum das so ist?

Und kann uns jemand sagen wie man es schafft, dass die Controls synchron
upgedatet werden?

Hier noch der Link zum Beispielcode.
http://nopaste.info/9800ef45d3.html

Danke für Eure Hilfe.

Gruß Martin
 

Lesen sie die antworten

#1 Thomas Scheidegger
07/02/2008 - 22:00 | Warnen spam
Hallo Martin

Kann uns jemand erklàren warum das so ist?



grundsàtzlich ist ja schon im Click-Handler (GUI/Thread!) die
for(100) {Sleep}
Schleife praktisch 'unzulàssig',
was da 'optisch' noch rauskommt dürfte eh nur irgend ein kurioser
Nebeneffekt sein.

Pack diese for-Schleife mal zB in einen dritten Thread.


Thomas Scheidegger - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen