全局变量是否不断更新
Are global variables constantly updated
我知道全局变量不好,但是我有一个检查设置功能,它在每个刻度运行。 http://pastebin.com/54yp4vuW 粘贴箱包含一些检查设置功能。在我添加GetPrivateProfileIntA之前,一切正常。现在当我运行它时,它像地狱一样滞后。我只能假设这是因为它不断加载文件。所以我的问题是,全局变量是否不断更新。(即如果我把它放在全局 var 中,它会停止滞后吗)谢谢:)
假设我正确解释了您的问题,那么不,除非您在代码中明确这样做,否则全局变量不会不断更新。所以是的,将这些调用放在全局变量中将摆脱滞后。
您尚未提供有关设计的任何详细信息,但全局变量在整个应用程序中可见,并在写入时进行更新。然后,读取该全局变量的多个进程/线程将读取相同的更新值。但是同步读/写需要使用同步机制,例如互斥锁、条件变量等。
在您的情况下,您需要决定何时为所有这些设置呼叫GetPrivateProfileIntA()
。所有这些设置都是不断更新还是仅更新其中的一小部分?确定需要定期监控的那些,只加载那些。
如果一个设置是有状态的,这意味着该类的所有对象都引用该设置的单个副本,那么我将使用静态类变量而不是普通的全局变量。
或者,您可以在需要时进行 JIT 调用以GetPrivateProfileIntA()
,而无需费心将设置存储在全局变量中。
相关文章:
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- C++17 和更新的 std::分配器是否适用于动态数量的自定义堆?
- 在这种情况下,当尝试从单独的类更新变量时,我是否需要使用指针?
- 流::seekoff 是否更新了输入序列
- 在线C++标准草案的更新是否会使指向它的链接无效?
- 这个针对单个写入器 + 读取器的发布/检查更新类是否可以使用 memory_order_relaxed 或获取/发布以提
- 自 Visual Studio 15.6.2 编译器更新以来的新 C++17 [[nodiscard]] 警告是否符合标
- 是否可以使用一系列智能指针来自动通过其索引更新其值
- 如何检查输入文件是否已更新
- 是否可以使用标准的C 线程而不是FLTK超时来更新窗口
- 是否可以执行范围添加更新,将线性函数添加到最大分段树中
- 如何检查对象属性更新是否存在 std::map 键,否则插入一个新键?
- 我的不同线程是否会看到更新后的shared_ptr对象
- 全局变量是否不断更新
- Eigen3 或其他矩阵库 2D 矩阵是否可以通过共享内存从不同的进程更新
- 是否应在几何体着色器中完全更新粒子系统
- 当.h文件更新时,是否应该更新库
- QT使应用程序检查是否有一个更新在sourceforge.net
- 在窗口中绘制之前是否有必要使更新区域无效?
- C++类函数能否判断自上次调用以来,类成员对外部类的引用是否已更新