Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C/C++;_C++_C_Timer_Ctime - Fatal编程技术网

C++ 如何在C/C++;

C++ 如何在C/C++;,c++,c,timer,ctime,C++,C,Timer,Ctime,我想在每两小时后调用一个商务类函数。 如果不使用while循环,我无法在C/C++中实现同样的功能。 我的问题是我不能使用while(1),因为这不会重新运行控件以进一步执行 这方面的任何指针都会有帮助……) thnaks对于一般解决方案,您可以启动一个线程,该线程在2小时后向主线程发送一些消息 对于linux,您可以使用以下方法: 然后在普通C中处理SIGALRM信号,我会考虑使用报警(2)或设置定时器(2)函数。或者,生成一个线程并从那里进行等待 如果您决定报警或设置器路由,请记住,您需要

我想在每两小时后调用一个商务类函数。 如果不使用while循环,我无法在C/C++中实现同样的功能。 我的问题是我不能使用while(1),因为这不会重新运行控件以进一步执行

这方面的任何指针都会有帮助……)


thnaks

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

对于linux,您可以使用以下方法:


然后在普通C中处理SIGALRM信号,我会考虑使用
报警(2)
设置定时器(2)
函数。或者,生成一个线程并从那里进行等待


如果您决定报警或设置器路由,请记住,您需要编写信号处理程序,并且可能需要一个调度循环,以注意是时候进行定期维护调用了,因为从信号处理器内部做很多事情被认为是不好的做法。

提供了答案。

答案将取决于您所处的平台。Linux?窗户?还有别的吗?只是好奇而已。如果你的程序还没有实现为一个事件循环,它会在2小时内做什么?我正试图在Mac Os X上实现这一点,实际上它是一个后台进程,所以只要你的系统启动,它总是在后台运行。