全局变量是否不断更新

Are global variables constantly updated

本文关键字:更新 是否 全局变量      更新时间:2023-10-16

我知道全局变量不好,但是我有一个检查设置功能,它在每个刻度运行。 http://pastebin.com/54yp4vuW 粘贴箱包含一些检查设置功能。在我添加GetPrivateProfileIntA之前,一切正常。现在当我运行它时,它像地狱一样滞后。我只能假设这是因为它不断加载文件。所以我的问题是,全局变量是否不断更新。(即如果我把它放在全局 var 中,它会停止滞后吗)谢谢:)

假设我正确解释了您的问题,那么不,除非您在代码中明确这样做,否则全局变量不会不断更新。所以是的,将这些调用放在全局变量中将摆脱滞后。

您尚未提供有关设计的任何详细信息,但全局变量在整个应用程序中可见,并在写入时进行更新。然后,读取该全局变量的多个进程/线程将读取相同的更新值。但是同步读/写需要使用同步机制,例如互斥锁、条件变量等。

在您的情况下,您需要决定何时为所有这些设置呼叫GetPrivateProfileIntA()。所有这些设置都是不断更新还是仅更新其中的一小部分?确定需要定期监控的那些,只加载那些。

如果一个设置是有状态的,这意味着该类的所有对象都引用该设置的单个副本,那么我将使用静态类变量而不是普通的全局变量。

或者,您可以在需要时进行 JIT 调用以GetPrivateProfileIntA(),而无需费心将设置存储在全局变量中。