Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 2 KB

sleep_for.md

File metadata and controls

67 lines (48 loc) · 2 KB

sleep_for

  • thread[meta header]
  • std::this_thread[meta namespace]
  • function template[meta id-type]
  • cpp11[meta cpp]
namespace std {
namespace this_thread {
  template <class Rep, class Period>
  void sleep_for(const chrono::duration<Rep, Period>& rel_time);
}}

概要

指定した相対時間だけ現スレッドをブロックする。

効果

引数 rel_timeで指定した相対時間だけ現在のスレッド、すなわちこの関数を呼び出したスレッド自身をブロックする。

指定した相対時間 以上 の時間が経過すると、現スレッドのブロックが解除されて後続処理の実行が開始される。なお、タイマーの精度は処理系依存。

同期

特に他操作と同期しない。

例外

  • C++11 : chrono::duration<Rep, Period>オブジェクトから例外送出しない限りは、この関数は例外送出しない。
  • C++14 : 時計クラス、time_pointクラス、durationクラスの構築が例外を送出する場合、この関数はそれらの例外を送出する。

#include <thread>
#include <chrono>

int main()
{
  // 3分間 現スレッドをブロック(Sleep)
  std::this_thread::sleep_for(std::chrono::minutes(3));

  return 0;
}
  • std::this_thread::sleep_for[color ff0000]

出力

バージョン

言語

  • C++11

処理系

  • Clang:
  • GCC: 4.6.3 [mark verified], 4.7.0 [mark verified]
  • ICC:
  • Visual C++: 2012 [mark verified], 2013 [mark verified], 2015 [mark verified]

参照