温馨提示×

delay函数如何实现更精准的延时

小樊
104
2024-07-06 11:58:13
栏目: 编程语言

要实现更精准的延时,可以使用高精度计时器来替代普通的延时函数。以下是一个使用C++11中的chrono库实现更精准延时的示例代码:

#include <iostream>
#include <chrono>
#include <thread>

void delay(int milliseconds) {
    std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
}

int main() {
    auto start = std::chrono::high_resolution_clock::now();

    delay(1000); // 延时1秒

    auto end = std::chrono::high_resolution_clock::now();
    std::chrono::duration<double> elapsed_seconds = end - start;

    std::cout << "精确延时时间: " << elapsed_seconds.count() << " 秒" << std::endl;

    return 0;
}

在这个示例中,我们使用std::this_thread::sleep_for函数来实现延时,其中传入的参数为std::chrono::milliseconds(milliseconds),表示延时的时间间隔为指定的毫秒数。最后通过高精度计时器计算实际延时的准确时间。

0