我想每两个小时后调用一次商务舱的功能。如果不使用 while 循环,我无法在 C/C++ 中实现相同的方法。我的问题是我不能使用 while(1) 因为这不会返回控制以进一步执行。

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

thnaks

有帮助吗?

解决方案

在普通的C,我已使用alarm(2)setitimer(2)功能考虑。可替换地,产生一个线程并执行从那里等待。

如果你决定在脑海报警或setitimer路线,记住,你需要编写信号处理程序,可能需要注意的调度循环,现在是时候做定期保养调用,因为它被认为是不好的做法,从信号处理程序中做了不少的东西。

其他提示

有关的一般的解决方案,可以启动一个线程,其在2小时后发送一些消息给主线程。

在Linux,你可以使用这样的:

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

和然后处理该信号SIGALRM

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top