用什么步骤能最简洁高效地监测某个函数是否超过10秒没有被调用
用什么方法能最简洁高效地监测某个函数是否超过10秒没有被调用?
MFC程序,FunA()是自定义消息WM_USER+100的响应函数,FunA()应该每0.1-1秒被调用一次。
用什么方法能最简洁高效地监测FunA()是否超过10秒没有被调用?(如果超过10秒没被调用则执行FunB() )
------解决方案--------------------
可不可以开一个循环定时器,时间过了就执行FunB() 。
在FunA()里面关掉计时器。
------解决方案--------------------
使用定时器撒。都能解决的呀
------解决方案--------------------
使用定时器Timer来处理。
------解决方案--------------------
线程函数FunC()里面设置变量 bA = 1,死循环判断,每隔10秒去判断bA的值,如果被改变了,重置,没改变,说明FunA没执行到;
FunA() 里面 去设置bA = 0.
------解决方案--------------------
方法可行,但是不能死循环判断!否则会有问题!
------解决方案--------------------
FunC()做计数,定时器了,每次取走上次计数。定时器检查,该计数有没有更新;
由于时间间隔比较长,所以完全可以及时刷新界面。
------解决方案--------------------
MFC程序,FunA()是自定义消息WM_USER+100的响应函数,FunA()应该每0.1-1秒被调用一次。
用什么方法能最简洁高效地监测FunA()是否超过10秒没有被调用?(如果超过10秒没被调用则执行FunB() )
------解决方案--------------------
可不可以开一个循环定时器,时间过了就执行FunB() 。
在FunA()里面关掉计时器。
------解决方案--------------------
使用定时器撒。都能解决的呀
------解决方案--------------------
使用定时器Timer来处理。
------解决方案--------------------
线程函数FunC()里面设置变量 bA = 1,死循环判断,每隔10秒去判断bA的值,如果被改变了,重置,没改变,说明FunA没执行到;
FunA() 里面 去设置bA = 0.
------解决方案--------------------
方法可行,但是不能死循环判断!否则会有问题!
------解决方案--------------------
FunC()做计数,定时器了,每次取走上次计数。定时器检查,该计数有没有更新;
由于时间间隔比较长,所以完全可以及时刷新界面。
------解决方案--------------------
static DWORD g_dwTime = 0;
FunA()
{
g_dwTime = GetTickCount();
// 以下是你原来代码
}
bool bFunA()
{
return (GetTickCount() - g_dwTime) >10*1000;
}