wait_for
是C++标准库
中的一个函数,用于等待一个给定的时间间隔。它接受两个参数:一个表示等待时间的 std::chrono::duration
对象,以及一个表示是否应该继续等待的布尔值(通常命名为 is_timeout
)。如果 is_timeout
为 true
,则当指定的时间间隔过去后,wait_for
将返回;如果为 false
,则 wait_for
将一直等待,直到某个条件满足为止。
下面是一个简单的示例,演示了如何使用 wait_for
函数:
#include#include #include 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 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秒钟。