D.7.2. Пространство имен this_thread
Функции из пространства имен std::this_thread применяются к вызывающему потоку.
STD::THIS_THREAD::GET_ID , ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Возвращает значение типа std::thread::id, идентифицирующее текущий поток выполнения.
Объявление
thread::id get_id() noexcept;
Возвращаемое значение
Экземпляр std::thread::id, идентифицирующий текущий поток выполнения.
Исключения
Нет.
STD::THIS_THREAD::YIELD , ФУНКЦИЯ, HE ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Информирует библиотеку о том, что поток, вызвавший эту функцию, в данный момент не хочет выполняться. Обычно используется в коротких циклах, чтобы не потреблять излишне много процессорного времени.
Объявление
void yield() noexcept;
Результат
Предоставляет библиотеке возможность запланировать другой поток вместо текущего.
Исключения
Нет.
STD::THIS_THREAD::SLEEP_FOR , ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Приостанавливает выполнение текущего потока на указанное время.
Объявление
template<typename Rep, typename Period>
void sleep_for(
std::chrono::duration<Rep, Period> const& relative_time);
Результат
Приостанавливает выполнение текущего потока на указанное время relative_time.
Примечание. Поток может быть блокирован дольше, чем указано. Если возможно, истекшее время измеряется по стабильным часам.
Исключения
Нет.
STD::THIS_THREAD::SLEEP_UNTIL , ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Приостанавливает выполнение текущего потока до указанного момента времени.
Объявление
template<typename Clock, typename Duration>
void sleep_until(
std::chrono::time_point<Clock, Duration> const& absolute_time);
Результат
Приостанавливает выполнение текущего потока до наступления момента absolute_time по указанным часам Clock.
Примечание. Не дается никаких гарантий относительно того, сколько времени будет блокирован вызывающий поток. Гарантируется лишь, что значение, возвращенное Clock::now(), больше или равно absolute_time в точке, где поток разблокировался.
Исключения
Нет.