Читать «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» онлайн - страница 443

Энтони Уильямс

Постусловия

this->get_id() равно значению other.get_id() до вызова функции. other.get_id() равно значению this->get_id() до вызова функции.

Исключения

Нет.

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

Обменивает владение ассоциированными потоками выполнения между двумя объектами std::thread.

Объявление

void swap(thread& lhs, thread& rhs) noexcept;

Результат

lhs.swap(rhs)

Исключения

Нет.

STD::THREAD::JOINABLE , ФУНКЦИЯ-ЧЛЕН

Опрашивает, ассоциирован ли с *this поток выполнения.

Объявление

bool joinable() const noexcept;

Возвращаемое значение

true, если с *this ассоциирован поток выполнения, иначе false.

Исключения

Нет.

STD::THREAD::JOIN , ФУНКЦИЯ-ЧЛЕН

Ожидает завершения потока выполнения, ассоциированного с *this.

Объявление

void jоin();

Предусловия

this->joinable() должна возвращать true.

Результат

Блокирует текущий поток, пока не завершится поток, ассоциированный с *this.

Постусловия

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;

Возвращаемое значение