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

Asynchronous 实时应用程序中的同步与异步更新,asynchronous,real-time,synchronous,Asynchronous,Real Time,Synchronous,我希望更新一个能够同步或异步更新的应用程序。对于应用程序的实时性,目前的范围从同步执行频率范围从1-60Hz的方法,您认为由于用户输入而进行异步更新有什么好处吗?或者我应该等到下一个同步周期合并更改吗 到目前为止,我的想法是: 引入异步更新的当前优势是,如果更新1Hz方法中的成员,60Hz方法可能会使用旧值执行50多次。我知道这对用户来说仍然是一个相对较短的时间(

我希望更新一个能够同步或异步更新的应用程序。对于应用程序的实时性,目前的范围从同步执行频率范围从1-60Hz的方法,您认为由于用户输入而进行异步更新有什么好处吗?或者我应该等到下一个同步周期合并更改吗

到目前为止,我的想法是:

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

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


有什么我没有想到的后果吗?

如果你不了解你的应用程序,就有点难说了。一般来说,我会说,在可能的情况下,对于实时应用程序,最好保持同步,因为这样可以更容易地对及时性进行推理(通常是最难推理的事情)。如果你可以合理地将某件事定为周期性的,那么就定为周期性的,并感谢你的幸运星

转向部分同步或异步模型确实有一些优势。正如您所说,继续对陈旧数据进行操作可能会让人感觉不那么美观。但请考虑:这是一个实时应用程序。假设您有一个要求,说明向60Hz任务输入数据的更新延迟必须是多少。就像在任何通用计算性能设置中一样,除非很容易,否则不要去做额外的工作来做得更好;在实施上更加清晰;或者它成为实现正确性的必要条件


所以,尽管如此,没有硬性规定。确保将您的基本原理写下来并反映在您的设计中。

如果您对应用程序没有更多的了解,就有点难说了。一般来说,我会说,在可能的情况下,对于实时应用程序,最好保持同步,因为这样可以更容易地对及时性进行推理(通常是最难推理的事情)。如果你可以合理地将某件事定为周期性的,那么就定为周期性的,并感谢你的幸运星

转向部分同步或异步模型确实有一些优势。正如您所说,继续对陈旧数据进行操作可能会让人感觉不那么美观。但请考虑:这是一个实时应用程序。假设您有一个要求,说明向60Hz任务输入数据的更新延迟必须是多少。就像在任何通用计算性能设置中一样,除非很容易,否则不要去做额外的工作来做得更好;在实施上更加清晰;或者它成为实现正确性的必要条件

所以,尽管如此,没有硬性规定。确保您的基本原理被写下来并反映在您的设计中