溫馨提示×

c++ wait_for如何設置

c++
小樊
106
2024-11-24 12:05:50
欄目: 編程語言

std::this_thread::wait_for是C++11中引入的一個函數,用于使當前線程等待指定的時間。它可以讓你避免忙等待(busy waiting),從而提高程序的性能。std::this_thread::wait_for函數的原型如下:

template < class Rep, class Period >
typename std::enable_if< std::is_integral<Rep>::value && std::is_floating_point<Period>::value >::type
wait_for( std::chrono::duration<Rep, Period> rel_time );

其中,rel_time是一個表示等待時間的std::chrono::duration對象。你可以使用不同的時間單位,例如秒、毫秒等。

下面是一個使用std::this_thread::wait_for的示例:

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

int main() {
    std::cout << "Starting...\n";

    // 等待1秒
    std::chrono::seconds wait_time(1);
    if (std::this_thread::wait_for(wait_time) == std::chrono::steady_clock::time_point::min()) {
        std::cout << "Timeout occurred.\n";
    } else {
        std::cout << "Wait completed.\n";
    }

    return 0;
}

在這個示例中,我們創建了一個表示1秒等待時間的std::chrono::seconds對象,并將其傳遞給std::this_thread::wait_for函數。如果等待時間到達,函數將返回std::chrono::steady_clock::time_point::min(),否則返回實際等待結束的時間點。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女