c - 需要帮助在 Linux 中使用 C 语言应用定时器

标签 c linux

我想在我们的 C 程序中创建一个计时器,以便它可以在每 1 秒后打印一次变量。

谁能帮我做这件事?

最佳答案

不要使用忙等待,因为您的 CPU 使用率已达到 100%。 您必须使用系统函数将进程转换为休眠模式,例如 select():

#include <stdio.h>
#include <sys/select.h>

void your_callback()
{
    printf("%s\n", __FUNCTION__);
}

int main()
{
    struct timeval t;

    while (1) {
        t.tv_sec = 1;
        t.tv_usec = 0;

        select(0, NULL, NULL, NULL, &t);

        your_callback();
    }

    return 0;
}

关于c - 需要帮助在 Linux 中使用 C 语言应用定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755181/

相关文章:

linux - 错误 : Cannot find a valid baseurl for repo: base

c - 函数采用结构体的 void 指针,并将指向其成员的指针传递给另一个函数

c++ - 轨道菜单弹出 : popup menu keeps disappearing

linux - 命令行 CSV 查看器

linux - OpenSuse 13.2 zypper 不工作

python - linux桌面可执行python脚本

c - C语言到MIPS的解释

c - 为什么将堆分配的结构从 Rust 传递到 C 时,我的整数值发生了变化?

c - 试图计算代码中的行数,但陷入 C 中的无限循环

linux - 如何在 Linux 中到处运行脚本