std::this_thread::sleep_for
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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) |
指定された時刻まで現在のスレッドの実行を停止します (関数) |