6

可能重复:
事件处理程序执行的顺序

单线程程序的 C# 事件系统是确定性的吗?这意味着,如果我按此顺序触发事件 A、B 和 C,是否每次都以相同的顺序处理它们?

我想编写一个严重依赖于事件的游戏逻辑,并且事件的处理顺序与它们被调用的顺序完全相同,这一点至关重要。那么我可以使用给定的事件系统吗,像Reactive Extensions这样的库是否可以满足这一点,还是我必须实现自己的观察者系统?

4

1 回答 1

3

[对于单线程程序,]如果我按此顺序触发事件 A、B 和 C,是否每次都以相同的顺序处理它们?

是的。触发事件只是调用方法的一种复杂方式。所以它相当于:

在单个线程上,如果我调用 methods A()B()那么C()它们会按该顺序执行吗?

他们当然会。

于 2013-01-09T16:40:56.273 回答