this->get_id() == id()
. Поток выполнения, который был ассоциирован с *this
до вызова этой функции, завершился.
Завершение потока выполнения, который был ассоциирован с *this
до вызова этой функции, происходит-раньше возврата из jоin()
.
std::system_error
, если требуемого эффекта добиться не удалось или если this->joinable()
возвращает false
.
STD::THREAD::DETACH
, ФУНКЦИЯ-ЧЛЕН
Отсоединяет поток выполнения, ассоциированный с *this
.
void detach();
this->joinable()
возвращает true
.
Отсоединяет поток выполнения, ассоциированный с *this
.
this->get_id() == id()
, this->joinable() == false
. Поток выполнения, который был ассоциирован с *this
до вызова этой функции, отсоединен и более не ассоциирован ни с каким объектом std::thread
.
std::system_error
, если требуемого эффекта добиться не удалось или если this->joinable()
возвращает false
в момент вызова.
STD::THREAD::GET_ID
, ФУНКЦИЯ-ЧЛЕН
Возвращает значение типа std::thread::id
, идентифицирующее поток выполнения, ассоциированный с *this
.
thread::id get_id() const noexcept;
Если с *this
ассоциирован поток выполнения, то возвращает экземпляр std::thread::id
, который идентифицирует этот поток. В противном случае возвращает сконструированный по умолчанию экземпляр std::thread::id
.
Нет.
STD::THREAD::HARDWARE_CONCURRENCY
, СТАТИЧЕСКАЯ ФУНКЦИЯ-ЧЛЕН
Возвращает информацию о том, сколько потоков могут одновременно работать на имеющемся оборудовании.
unsigned hardware_concurrency() noexcept;
Количество потоков, которые могут одновременно исполняться на имеющемся оборудовании. Например, это может быть число процессоров. Если информация недоступна или определена неточно, возвращает 0.
Нет.
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
void sleep_for(
std::chrono::duration
Приостанавливает выполнение текущего потока на указанное время relative_time
.
Примечание. Поток может быть блокирован дольше, чем указано. Если возможно, истекшее время измеряется по стабильным часам.
Нет.
STD::THIS_THREAD::SLEEP_UNTIL
, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА
Приостанавливает выполнение текущего потока до указанного момента времени.
template
void sleep_until(
std::chrono::time_point
Приостанавливает выполнение текущего потока до наступления момента absolute_time
по указанным часам Clock
.