Laden...

delegate

Erstellt von cmpxchg vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.210 Views
C
cmpxchg Themenstarter:in
192 Beiträge seit 2005
vor 18 Jahren
delegate

Hallo,

ich hab ein Multicast-Delegate für ein Ereignis programmiert. Andere Objekte verwenden dieses Ereignis. Doch jetzt möchte ich jede Methode, die dieses Ereignis empfangen will, in einem eigenen thread starten.
(So ähnlich wie der System.Timer.Timer. Der startet auch immer das Elapsed-Ereignis in einem Thread)

Wie kann ich denn jede, in dem delegate registrierte Methode, in einem separaten Thread laufen lassen?

Danke

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo cmpxchg,

kannst du machen. Per MulticastDelegate.GetInvocationList kommst du an die einzelnen Delegaten. Für jeden Delegaten startest du einen Thread, der den Delegaten als Parameter bekommt und ihn aufruft, wobei du die ggf. notwendige Synchronisation nicht vergessen solltest.

herbivore

PS: Vielleicht wäre auch der Thread-Pool in diesem Zusammenhang eine Überlegung wert.