gpt4 book ai didi

c# - C# 事件是同步的吗?

转载 作者:IT王子 更新时间:2023-10-29 03:36:29 25 4
gpt4 key购买 nike

这个问题有两个部分:

  1. 引发一个事件会阻塞线程,还是它会异步开始执行 EventHandlers 而线程会同时继续运行?

  2. 各个 EventHandlers(订阅事件)是一个接一个地同步运行,还是异步运行且不能保证其他人不会同时运行?

最佳答案

这是一个一般性的答案,反射(reflect)了默认行为:

  1. 是的,如果订阅事件的方法不是异步的,它会阻塞线程。
  2. 它们一个接一个地执行。这还有另一个转折点:如果一个事件处理程序抛出异常,则不会执行尚未执行的事件处理程序。

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

[注意]此链接要求您提供电子邮件地址以下载 EventsHelper 类。 (我没有任何隶属关系)

关于c# - C# 事件是同步的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com