Parallel EventHandler

2020-03-26 06:44发布

问题:

I want to notify my class's event subscribers without delay and simultaneously.

Should I roll my own event handler; use some from FCL supporting parallelism; or default built-in System.EventHandler<T> support such way of event notification?

回答1:

You can use MulticastDelegate.GetInvocationList for any delegate, and then just invoke all of the component delegates in parallel. That's probably the easiest way to go.

(It returns Delegate[] but you can cast each instance to the right type. You may even get away with casting the array itself - I can't remember exactly what kind of array it actually creates.)