单线程程序的C#事件系统是否具有确定性?这意味着,如果我按此顺序触发事件A,B和C,它们每次都会以相同的顺序处理吗?
我想编写一个严重依赖于事件的游戏逻辑,并且事件的处理方式与调用它们的顺序完全相同至关重要。那么我可以使用给定的事件系统,像Reactive Extensions这样的库是否满足这个要求,或者我是否必须实现自己的观察者系统?
答案 0 :(得分:3)
[对于单线程程序],如果按此顺序触发事件A,B和C,它们每次都会以相同的顺序处理吗?
是。触发事件只是调用方法的一种复杂方法。所以它相当于:
在一个线程上,如果我调用方法
A()
,B()
然后C()
它们会按顺序执行吗?
当然他们会。