std::this_thread::sleep_for
來自 cppreference.com
定義於標頭檔案 <thread> |
||
template< class Rep, class Period > void sleep_for( const std::chrono::duration<Rep, Period>& sleep_duration ); |
(C++11 起) | |
阻塞當前執行緒的執行至少 sleep_duration 指定的時間。
由於排程或資源爭用延遲,此函式可能會阻塞比 sleep_duration 更長的時間。
標準建議使用穩定時鐘來測量持續時間。如果實現使用系統時鐘,則等待時間也可能對時鐘調整敏感。
目錄 |
[編輯] 引數
sleep_duration | - | 睡眠的時間長度 |
[編輯] 返回值
(無)
[編輯] 異常
在執行期間,由 clock
、time_point
或 duration
丟擲的任何異常(標準庫提供的時鐘、時間點和持續時間從不丟擲)。
[編輯] 示例
執行此程式碼
#include <chrono> #include <iostream> #include <thread> int main() { using namespace std::chrono_literals; std::cout << "Hello waiter\n" << std::flush; const auto start = std::chrono::high_resolution_clock::now(); std::this_thread::sleep_for(2000ms); const auto end = std::chrono::high_resolution_clock::now(); const std::chrono::duration<double, std::milli> elapsed = end - start; std::cout << "Waited " << elapsed << '\n'; }
可能的輸出
Hello waiter Waited 2000.13 ms
[編輯] 參閱
(C++11) |
停止當前執行緒的執行直到指定的時間點 (函式) |