实时应用程序中的同步和异步更新

时间:2011-03-04 16:19:02

标签: asynchronous real-time synchronous

我希望更新一个能够同步或异步更新的应用程序。对于应用程序的实时性质,当前范围从同步执行频率范围为1-60Hz的方法,您是否看到由于用户输入而异步更新的任何优势?或者我应该等到下一个同步周期才能纳入更改?

到目前为止我的想法:

我在引入异步更新时看到的当前优势是,如果更新1Hz方法中的成员,则60Hz方法可以使用旧值执行50次以上。我知道这对用户来说仍然是一个相对较短的时间(<1秒),但对我来说,持续计算50%代表的坏值的原则似乎很糟糕。

我看到保持同步的当前优势是代码执行流程的易读性。

我没有想到会有什么反响吗?

1 个答案:

答案 0 :(得分:1)

如果没有更多的应用感,这有点难以说清楚。一般来说,我认为最好在可能的情况下保持实时应用程序的同步,这只是因为它更容易推断时效性(通常是最难以推理的东西。)如果你能合理地定期制作某些东西,那么它定期并感谢你的幸运星。

转向部分同步或异步模型确实有一些优点。就像你说的那样,继续操作过时的数据可能感觉不太美观。但请考虑:这是一个实时应用程序。据推测,您需要说明输入到60Hz任务的数据的更新延迟必须是什么。与任何通用计算性能设置一样,除非很容易,否则不要做额外的工作来做得更好。它在实施中更加清晰;或者有必要达到正确性。

所以,所有这一切,都没有严格的规则。确保您的理由记录下来并反映在您的设计中。