首页 > 解决方案 > 获取执行时间而不考虑未安排的时间

问题描述

我试图在 Linux 上以这种方式测量循环中的时间:

void Timer::run() {
    while ( isRunning() ) {
        auto start = std::chrono::steady_clock::now();
        doSomething();
        auto stop = std::chrono::steady_clock::now();
        auto waitingTime = tick - (stop - start);
        waitFor(waitingTime);
    }
}

它可以工作,但是如果在我的程序执行时doSomething()我停止使用该进程kill -STOP,然后我使用恢复该进程,kill -CONT我可以看到 waitingTime 包括程序暂停的时间。是否可以仅检索实际执行时间?

标签: c++linuxc++11

解决方案


推荐阅读