C#事件系统对于单线程程序是否具有确定性?

时间:2013-01-09 16:24:19

标签: c# events

  

可能重复:
  Order of event handler execution

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

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

1 个答案:

答案 0 :(得分:3)

  

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

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

  

在一个线程上,如果我调用方法A()B()然后C()它们会按顺序执行吗?

当然他们会。