是C#事件同步?

这个问题有两个部分:

>提高事件阻塞线程,还是异步启动EventHandlers的执行,并且线程同时继续执行?
>每个EventHandlers(订阅事件)是否一个接一个地同步运行,或者它们是否异步运行,不保证其他的不会同时运行?

这是一个一般的答案,反映了默认行为:

>是的,如果订阅事件的方法不是异步的,它会阻塞线程。
>它们是一个接一个执行。这有另一个扭曲:如果一个事件处理程序抛出异常,尚未执行的事件处理程序将不会被执行。

话虽如此,每个提供事件的类都可以选择异步实现它的事件。 IDesign提供了一个类EventsHelper,简化了这一点。

[注意]此链接要求您提供一个电子邮件地址下载EventsHelper类。

http://stackoverflow.com/questions/7106454/are-c-sharp-events-synchronous

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:是C#事件同步?