在主线程循环处理中,当全局变量一直变化,如何来判断全局变量的值已改变呢?
实际代码示例:
// 全局变量记录上一次状态(初始值设为-1,确保首次触发)
static int g_lastState = -1;
while (1)
{
// 状态从非1变为1时执行A
if (g_sipallheartState == 1 && g_lastState != 1)
{
// 执行A操作(仅一次)
// ...
g_lastState = 1; // 更新记录的状态
}
// 状态从非0变为0时执行B
if (g_sipallheartState == 0 && g_lastState != 0)
{
// 执行B操作(仅一次)
// ...
g_lastState = 0; // 更新记录的状态
}
// 其他循环逻辑...
}