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

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

Примечание. Значения std::thread::id для конкретных потоков непредсказуемы и могут различаться при разных прогонах одной и той же программы.

Экземпляры std::thread::id удовлетворяют требованиям концепций CopyConstructible и CopyAssignable, поэтому их можно копировать и присваивать друг другу

STD::THREAD::ID , КОНСТРУКТОР ПО УМОЛЧАНИЮ

Конструирует объект std::thread::id, который не представляет никакой поток выполнения.

Объявление

id() noexcept;

Результат

Конструирует экземпляр std::thread::id, с которым связано особое значение, интерпретируемое как не поток.

Исключения

Нет.

Примечания. Во всех сконструированных по умолчанию экземпляров std::thread::id хранится одно и то же значение.

STD::THREAD::ID , ОПЕРАТОР СРАВНЕНИЯ НА РАВЕНСТВО

Сравнивает два экземпляра std::thread::id, проверяя, представляют ли они один и тот же поток.

Объявление

bool operator==(

 std::thread::id lhs, std::thread::id rhs) noexcept;

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

true, если lhs и rhs представляют один и тот же поток выполнения или оба имеют значение не поток, false, если lhs и rhs представляют разные потоки или один представляет поток, а другой имеет значение не поток.

Исключения

Нет.

STD::THREAD::ID , ОПЕРАТОР СРАВНЕНИЯ НА НЕРАВЕНСТВО

Сравнивает два экземпляра std::thread::id, проверяя, представляют ли они разные потоки.

Объявление

bool operator!=(

 std::thread::id lhs, std::thread::id rhs) noexcept;

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

!(lhs==rhs)

Исключения

Нет.

STD::THREAD::ID , ОПЕРАТОР СРАВНЕНИЯ МЕНЬШЕ

Сравнивает два экземпляра std::thread::id, проверяя, предшествует ли один из них другому в смысле отношения полного порядка, существующего на множестве значений идентификаторов потоков.

Объявление

bool operator<(

 std::thread::id lhs, std::thread::id rhs) noexcept;

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

true, если значение lhs предшествует значению rhs в смысле отношения полного порядка, существующего на множестве значений идентификаторов потоков. Если lhs != rhs, то истинно ровно одно из утверждений lhs < rhs и rhs < lhs, тогда как второе ложно. Если lhs == rhs, то оба утверждения lhs < rhs и rhs < lhs ложны.

Исключения

Нет.

Примечание. Особое значение не поток, которое хранится в сконструированном по умолчанию экземпляре std::thread::id, меньше любого другого экземпляра std::thread::id, представляющего поток выполнения. Если два экземпляра std::thread::id равны, то ни один из них не меньше другого. Любое множество различных значений std::thread::id полностью упорядочено, и этот порядок остается непротиворечивым на всем протяжении работы программы. Порядок может изменяться при разных прогонах одной и той же программы.