如何在C中每隔t秒运行一次?

时间:2010-01-12 15:04:22

标签: c timer

在C中,我希望每 t 秒重复执行一个语句块。我该怎么做?

4 个答案:

答案 0 :(得分:7)

这不能在标准C中完成,您需要使用一些特定于平台的API。

一个流行的选择是POSIX'alarm()功能。

这是一种“纯粹的”同步解决方案。当然可以通过其他方式测量和处理时间,但它们仍然依赖于平台。您可以使用sleep()(再次,POSIX)来阻止。如果你将它与循环中所需的语句结合起来,那也应该有效。

答案 1 :(得分:3)

您需要创建一个运行包含等待请求的循环的线程或进程。

答案 2 :(得分:1)

如果您的应用程序在Windows上运行,则可以使用SetTimer function

答案 3 :(得分:0)

同意unwind对alarm()的建议,但在完成定期处理块后不要忘记设置另一个警报()。