Threadwechsel bei Events

11/10/2009 - 18:29 von Ralf | Report spam
Hallo Zusammen,

ich schreibe gerade eine Klasse, die ein Eingabegeràt kapselt.
Immer wenn neue Daten eintreffen wird eine Funktion im Kontext eines eigenen
Lese Threads aufgerufen.

Ich möchte jetzt in dieser Funktion einen an einem Event hàngenden Delegaten
aufrufen und dabei in den Hauptthread wechsel.

Gibt es dazu eine Möglichkeit?

Da ich auf viele Controls zugreifen muss, halte ich den Zugriff mit Invoke
aus dem Lese Thread nicht für praktikabel.

Gruß
Ralf
 

Lesen sie die antworten

#1 Peter Götz
12/10/2009 - 09:25 | Warnen spam
Hallo Ralf,

ich schreibe gerade eine Klasse, die ein Eingabegeràt kapselt.
Immer wenn neue Daten eintreffen wird eine Funktion im Kontext
eines eigenen Lese Threads aufgerufen.



Ich verstehe die dahinter steckende Logik nicht.
Warum ein neuer Thread, wenn Daten eintreffen?
Wàre es nicht sinnvoller das Warten auf neue Daten
das Lesen dieser Daten selbst im separaten Thread
abzuarbeiten?


Ich möchte jetzt in dieser Funktion einen an einem Event
hàngenden Delegaten aufrufen und dabei in den Hauptthread
wechsel.

Gibt es dazu eine Möglichkeit?



Ja, die gibt es sicher.

Da ich auf viele Controls zugreifen muss, halte ich den
Zugriff mit Invoke aus dem Lese Thread nicht für praktikabel.



Warum nicht?
Eine einzige Prozedur, welche via Delegate/Invoke aufgerufen
wird, könnte zweiten und Hauptthread synchronisieren.

Schau Dir mal die Beispiele unter

www.gssg.de -> Visual Basic -> VB.net
-> Multithreading / Backgroundworker

an. Ich denke, das sollte die Sache mit Multithreading sowie
dem Aufruf von Prozeduren via Delegate / Invoke aufhellen.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen