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
より長くブロックする可能性があります。
標準は時間計測に steady clock を使用することを推奨しています。 処理系が代わりに system clock を使用する場合、待機時間は時計調整の影響も受けるかもしれません。
目次 |
[編集] 引数
sleep_duration | - | 寝る時間 |
[編集] 戻り値
(なし)
[編集] 例外
実行中に clock、time_point、または duration によって投げられるあらゆる例外 (標準ライブラリによって提供される clock、time_point、および duration は、例外を投げることはありません)。
[編集] 例
Run this code
#include <iostream> #include <chrono> #include <thread> int main() { using namespace std::chrono_literals; std::cout << "Hello waiter\n" << std::flush; auto start = std::chrono::high_resolution_clock::now(); std::this_thread::sleep_for(2s); auto end = std::chrono::high_resolution_clock::now(); std::chrono::duration<double, std::milli> elapsed = end-start; std::cout << "Waited " << elapsed.count() << " ms\n"; }
出力例:
Hello waiter Waited 2000.12 ms
[編集] 関連項目
(C++11) |
指定された時刻まで現在のスレッドの実行を停止します (関数) |