C ++定时器控件

时间:2011-02-03 06:03:37

标签: c++

我想创建一个计时器,以便在完成时间(假设为10秒)之后控件应该从函数中出来。请注意,我在函数内部启动计时器。编码如下所示。我想要给这个函数一定的时间限制,这样在完成控制后的时间就应该出来了。我不想计算时间。我想给自己的时间让函数完成它的执行。那个时间段...如果函数正在等待输入,那么在完成时间限制之后,控制应该出现,表示“时间已经过期”..一旦它从函数中出来,那么它应该继续下一个函数执行。 ..这可能在c ++ ...

Begin();

// here I would like to add timer.

v_CallId = v_CallId1;
call_setup_ind();
call_alert_ind();
dir_read_search_cnf();
dir_save_cnf();

END();

1 个答案:

答案 0 :(得分:1)

如果代码是线性的并且调用的函数不能被分成更小的部分,那么当你超出超时时,你就不能让外部进程/线程执行定时并中止工作线程。

当你可以把工人砍成小块时,你可以做这样的事情

Timeout.Start(5000);
while ((TimeOut.TimeOut() == false) && (completed == false))
{
   completed = WorkToDo()
}

这是我们在嵌入式应用程序中经常使用的模式。超时类是内部开发的。它只是读取滴答计数器并查看时间是否已经过去。像QT或MFC这样的框架本身就应该有这样的类。