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.

Исключения

Нет.

<p>D.7.2. Пространство имен <code>this_thread</code></p>

Функции из пространства имен 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 const& relative_time);

Результат

Приостанавливает выполнение текущего потока на указанное время relative_time.

Примечание. Поток может быть блокирован дольше, чем указано. Если возможно, истекшее время измеряется по стабильным часам.

Исключения

Нет.

STD::THIS_THREAD::SLEEP_UNTIL, ФУНКЦИЯ, НЕ ЯВЛЯЮЩАЯСЯ ЧЛЕНОМ КЛАССА

Приостанавливает выполнение текущего потока до указанного момента времени.

Объявление

template

void sleep_until(

 std::chrono::time_point const& absolute_time);

Результат

Приостанавливает выполнение текущего потока до наступления момента absolute_time по указанным часам Clock.

Перейти на страницу:

Похожие книги