名前空間
変種
操作

std::this_thread::sleep_for

提供: cppreference.com
< cpp‎ | thread
 
 
スレッドサポートライブラリ
スレッド
(C++11)
(C++20)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
sleep_for
(C++11)
相互排他
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
フューチャー
(C++11)
(C++11)
(C++11)
(C++11)
 
ヘッダ <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 は、例外を投げることはありません)。

[編集]

#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

[編集] 関連項目

指定された時刻まで現在のスレッドの実行を停止します
(関数) [edit]