VisualBasic Multithreading: Funktion sichern

Squicky

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.431
Hallo

Ich habe ein Programm mit merher Threads.
Fast alle Threads nutzen ab und zu eine wichtige Funktion.

Wie kann man in VB.net sicherstellen, dass diese Funktion von max nur einem Thread gleichzeitig durchlaufen wird. Wenn andere Threads die Funktion in dieser Zeit durchlaufen wollen, dann sollen sie warten, bis der aktuelle Thread die Funktion verlassen hat.

In Java kann man dies z.B. mit "synchronized" machen. Wie macht man dies in vb.net?

Danke für eure hilfe.
 
Wieso sollte Worker den sowas unterstützen?

Was du machen kannst, ist einfach irgendwie auf den Namen beschränken, das den Invoke auslöst!

Ich musste nie ein Multithreadfähiges Programm nur auf einen Thread max die Methode ausführt! Du willst auch sicher irgendwelche Daten zwischen den Thread hin und her verschicken, oder wozu brauchst du den extra thread?
 
Das Programm (Client) hat viele Verbindung zu anderen Clients per TCP/IP Sockets.
Jeder Socket hat halt mind. einen Thread und dann gibt es da auch noch ein paar System-Threads. Das Tool soll nicht nur sich selbst am laufen halten, sonder auch die richtigen Daten von anderen Client erhalten, verarbeiten und/oder weiter leiten, damit diese auch richtig funktioneren (können).

"SyncLock Statement" lößt mein Problem. Danke für die Hilfe.
 
Zurück
Oben