Читать «Параллельное программирование на С++ в действии. Практика разработки многопоточных программ» онлайн - страница 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;