2014-01-21 14 views
0

根据配置文件中的定义(假设每10小​​时通过使用ACE库),我需要设置一个回调,该回调将在每个预设时间调用。我尝试使用ACE_reactor,它似乎能够工作,但它会在大约30分钟的闲置活动后使应用程序崩溃。我想有一种方法可以通过使用计时器来做同样的事情,但到目前为止,我找不到一个很好的代码示例来演示如何执行此操作。有人知道如何通过使用C++和ACE库来实现吗? ACE是否具有与Win API的SetWaitableTimer()等效的功能?如何使用ACE库预先设置事件

回答

0

ACE Reactor是安排计时器的方式,它在我们身边完美运行,您确定指定了正确的超时时间吗?

+0

是的,我敢肯定。问题是为了使用这种机制,我需要在它的main()函数中写入以下命令:ACE_Reactor :: instance() - > run_reactor_event_loop()。它会在大约30分钟的闲置活动后使应用程序崩溃。当我注释掉这行代码时,应用程序不会崩溃。我知道这听起来很奇怪,但这是我遇到的问题... – user3179744

+0

您必须运行反应堆才能调用定时器。不知道它为什么会崩溃,ACE被用于许多关键任务的全天候应用程序,并且这一切都毫无问题地运行。 –