【发布时间】:2012-06-11 19:43:15
【问题描述】:
我想运行一个函数 (funcA) 并使用另一个函数 (timerFunc) 作为计时器。如果正在运行的函数(funcA)已经运行了 10 秒,我想使用定时器函数(timerFunc)退出它。这可能吗?基本上我正在尝试做的事情:
void funcA() {
// check event 1
// check event 2
// check event 3
// time reaches max here! --exit--
//check event 4
}
如果不是,那么处理这种情况的最佳方法是什么?我考虑过使用秒表,但我不确定这是否是最好的做法,主要是因为我不知道在什么事件之后会达到超时。
【问题讨论】:
-
在 funcA 中是否有一个设定点,如果你要退出,你会检查它,还是只是想停止执行,无论你在 funcA 中的哪个位置?
-
马尔科姆,感谢您的回复。无论我在 funcA 的哪个位置,我都想退出函数。
-
如果您无论如何都想退出,那么我在下面发布的线程中止解决方案将执行此操作,但请注意,这可能对稳定性和性能非常危险,具体取决于您在该功能中所做的事情