33 Thread support library [thread]

33.3 Threads [thread.threads]

33.3.3 Namespace this_­thread [thread.thread.this]

namespace std::this_thread {
  thread::id get_id() noexcept;

  void yield() noexcept;
  template <class Clock, class Duration>
    void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);
  template <class Rep, class Period>
    void sleep_for(const chrono::duration<Rep, Period>& rel_time);
}

thread::id this_thread::get_id() noexcept;

Returns: Объект типа, thread​::​id который однозначно идентифицирует текущий поток выполнения. Никакой другой поток выполнения не должен иметь этого идентификатора, и этот поток выполнения всегда должен иметь этот идентификатор. Возвращенный объект не должен сравниваться с созданным по умолчанию thread​::​id.

void this_thread::yield() noexcept;

Effects: Предлагает реализации возможность переноса графика.

Synchronization: Никто.

template <class Clock, class Duration> void sleep_until(const chrono::time_point<Clock, Duration>& abs_time);

Effects: Блокирует вызывающий поток на время абсолютного тайм-аута ([thread.req.timing]), указанное в abs_­time.

Synchronization: Никто.

Throws: Исключения, связанные с тайм-аутом ([thread.req.timing]).

template <class Rep, class Period> void sleep_for(const chrono::duration<Rep, Period>& rel_time);

Effects: Блокирует вызывающий поток в течение относительного времени ожидания ([thread.req.timing]), указанного в rel_­time.

Synchronization: Никто.

Throws: Исключения, связанные с тайм-аутом ([thread.req.timing]).