Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 2.23 KB

sleep_until.md

File metadata and controls

72 lines (53 loc) · 2.23 KB

sleep_until

  • thread[meta header]
  • std::this_thread[meta namespace]
  • function template[meta id-type]
  • cpp11[meta cpp]
namespace std {
namespace this_thread {
  template <class Clock, class Duration>
  void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);
}}
  • time_point[link /reference/chrono/time_point.md]

概要

指定した絶対時刻を過ぎるまで現スレッドをブロックする。

効果

引数 abs_timeで指定した絶対時間を経過するまで現在のスレッド、すなわちこの関数を呼び出したスレッド自身をブロックする。指定した絶対時間 以上 の時刻になると、現スレッドのブロックが解除されて後続処理の実行が開始される。なお、タイマーの精度は処理系依存。

同期

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

例外

  • C++11 : ClockがTrivialClock要件を満たしかつDuration上の操作が例外送出しない限りは、この関数は例外送出しない。
  • C++14 : 時計クラス、time_pointクラス、durationクラスの構築が例外を送出する場合、この関数はそれらの例外を送出する。

#include <thread>
#include <chrono>

int main()
{
  auto abs_time = std::chrono::system_clock::now() + std::chrono::seconds(15);
  //...
  std::this_thread::sleep_until(abs_time);

  return 0;
}
  • std::this_thread::sleep_until[color ff0000]
  • std::chrono::system_clock[link /reference/chrono/system_clock.md]
  • now()[link /reference/chrono/system_clock/now.md]
  • std::chtono::seconds[link /reference/chrono/seconds.md]

出力

バージョン

言語

  • C++11

処理系

参照