温馨提示×

c++ wait_for怎样使用

c++
小樊
82
2024-11-24 11:58:50
栏目: 编程语言

wait_for是C++标准库 <chrono> 中的一个函数,用于等待一个给定的时间间隔。它接受两个参数:一个表示等待时间的 std::chrono::duration 对象,以及一个表示是否应该继续等待的布尔值(通常命名为 is_timeout)。如果 is_timeouttrue,则当指定的时间间隔过去后,wait_for 将返回;如果为 false,则 wait_for 将一直等待,直到某个条件满足为止。

下面是一个简单的示例,演示了如何使用 wait_for 函数:

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

int main() {
    std::cout << "Waiting for 5 seconds...\n";

    // 等待5秒钟
    auto result = std::chrono::system_clock::now();
    std::this_thread::sleep_for(std::chrono::seconds(5));
    auto end = std::chrono::system_clock::now();

    std::chrono::duration<double> elapsed = end - result;
    if (elapsed.count() >= 5) {
        std::cout << "5 seconds have passed.\n";
    } else {
        std::cout << "Time has not passed yet.\n";
    }

    return 0;
}

在这个示例中,我们使用 std::this_thread::sleep_for 函数使当前线程休眠5秒钟。然后,我们使用 std::chrono::system_clock::now() 获取当前时间,并计算经过的时间。最后,我们根据经过的时间判断是否已经等待了5秒钟。

0