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 в точке, где поток разблокировался.

Исключения

Нет.