c++ - 每隔一段时间执行一次操作

标签 c++ c unix

我想在特定的超时时间执行 Action ,比如开火 事件。我想出了如何每 n 秒做一次,但不是 1.5 秒。这是我所拥有的。请建议如何处理我的情况:

void Publish()
{
    static  int local_time=time(NULL);

     int current_time = time (NULL);
     if((current_time+PUBLISH_TIMEOUT)>local_time)
      {
           fireEvent();
            local_time=current_time;
      } 
}

最佳答案

gettimeofday() 返回微秒,因此您可以使用它代替 time() - 请参阅此函数填充的 struct timeval 的定义。

查看 man gettimeofday 了解详细信息。

关于c++ - 每隔一段时间执行一次操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1027585/

相关文章:

unix - Unix/Linux 中的调试中断?

c++ - Union-find 方法性能,迭代与递归

c++ - 媒体基金会 AMR 解码

c++ - OpenCV/C++ - 编辑所有孤立的像素

c - 如何在类 Unix shell 中保存交互式命令行程序的输出?

unix - gvim 到 .vimrc 中的自定义高亮组不起作用

c++ - 传递给协程的临时对象何时被销毁?

c++ - C/C++ 中 char *(字符指针)的大小会有所不同吗? - 用于数据库列固定大小

C - 无法在 OSX 中的当前目录上创建文件

C 使用 Strtol 将字符串解析为两个整数