在C中,我希望每 t 秒重复执行一个语句块。我该怎么做?
答案 0 :(得分:7)
这不能在标准C中完成,您需要使用一些特定于平台的API。
一个流行的选择是POSIX'alarm()
功能。
这是一种“纯粹的”同步解决方案。当然可以通过其他方式测量和处理时间,但它们仍然依赖于平台。您可以使用sleep()
(再次,POSIX)来阻止。如果你将它与循环中所需的语句结合起来,那也应该有效。
答案 1 :(得分:3)
您需要创建一个运行包含等待请求的循环的线程或进程。
答案 2 :(得分:1)
如果您的应用程序在Windows上运行,则可以使用SetTimer function。
答案 3 :(得分:0)
同意unwind对alarm()的建议,但在完成定期处理块后不要忘记设置另一个警报()。