0

我想每 2 小时后调用一次商务舱的功能。如果不使用 while 循环,我没有任何方法可以在 C/C++ 中实现相同的功能。我的问题是我不能使用 while(1) 因为这不会重新控制控件以供进一步执行。

在这方面的任何指针都会有帮助.... :)

感恩

4

3 回答 3

2

Boost.Asio提供Timers

于 2010-11-01T07:58:17.870 回答
0

对于一般解决方案,您可以启动一个线程,该线程在 2 小时后向主线程发送一些消息。

对于 linux,你可以使用这个:

http://linux.die.net/man/3/alarm

然后处理 SIGALRM 信号

于 2010-11-01T07:30:22.223 回答
0

在纯 C 语言中,我会考虑使用alarm(2)orsetitimer(2)函数。或者,生成一个线程并从那里等待。

如果您决定使用警报或 setitimer 路由,请记住您需要编写信号处理程序,并且可能需要一个调度循环来注意是时候进行定期维护调用了,因为这样做被认为是不好的做法信号处理程序中的一些东西。

于 2010-11-01T07:33:52.027 回答