Параллельное программирование на С++ в действии. Практика разработки многопоточных программ - страница 262
>std::thread::id
, представляющего поток выполнения. Если два экземпляра >std::thread::id
равны, то ни один из них не меньше другого. Любое множество различных значений >std::thread::id
полностью упорядочено, и этот порядок остается непротиворечивым на всем протяжении работы программы. Порядок может изменяться при разных прогонах одной и той же программы.>STD::THREAD::ID
, ОПЕРАТОР СРАВНЕНИЯ МЕНЬШЕ ИЛИ РАВНО
Сравнивает два экземпляра >std::thread::id
, проверяя, предшествует ли один из них другому в смысле отношения полного порядка, существующего на множестве значений идентификаторов потоков, или оба экземпляра совпадают.
Объявление
>bool operator<=(
> std::thread::id lhs, std::thread::id rhs) noexcept;
Возвращаемое значение
>!(rhs < lhs)
Исключения
Нет.
>STD::THREAD::ID
, ОПЕРАТОР СРАВНЕНИЯ БОЛЬШЕ
Сравнивает два экземпляра >std::thread::id
, проверяя, следует ли один из них за другим в смысле отношения полного порядка, существующего на множестве значений идентификаторов потоков.
Объявление
>bool operator>(
> std::thread::id lhs, std::thread::id rhs) noexcept;
Возвращаемое значение
>rhs < lhs
Исключения
Нет.
>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
в указанный поток.
Объявление
>template
>basic_ostream
>operator<<(basic_ostream
Результат
Выводит строковое представление значения >std::thread::id
в указанный поток. Возвращаемое значение
>out
Исключения
Нет.
Примечание. Формат строкового представления не специфицирован. Равные экземпляры имеют одинаковое представление, неравные — различное.
>STD::THREAD::NATIVE_HANDLE_TYPE
, ПСЕВДОНИМ ТИПА
>native_handle_type
— это псевдоним типа, который можно использовать в сочетании с платформенно-зависимыми API.
Объявление
>typedef implementation-defined native_handle_type;
Примечание. Этот псевдоним типа необязателен. Если он определен, то реализация должна предоставить тип, пригодный для использования в сочетании с платформенно-зависимыми API.
>STD::THREAD::NATIVE_HANDLE
, ФУНКЦИЯ-ЧЛЕН
Возвращает значение типа >native_handle_type
, представляющее поток выполнения, ассоциированный с >*this
.
Объявление
>native_handle_type native_handle();
Примечание. Эта функция необязательна. Если она имеется, то возвращаемое значение должно быть пригодно для использования в сочетании с платформенно-зависимыми API.
>STD::THREAD
, КОНСТРУКТОР ПО УМОЛЧАНИЮ
Конструирует объект >std::thread
, с которым не ассоциирован никакой поток выполнения.
Объявление
>thread() noexcept;
Результат
Конструирует экземпляр >std::thread
, с которым не ассоциирован никакой поток выполнения.
Постусловия
Для вновь сконструированного объекта x типа >std::thread x.get_id()==id()
.
Исключения
Нет.
>STD::THREAD
, КОНСТРУКТОР
Конструирует экземпляр >std::thread
, ассоциированный с новым потоком выполнения.
Объявление
>template
>explicit thread(Callable&& func, Args&&... args);
Предусловия
>func
и каждый элемент списка >args
должен удовлетворять требованиям концепции >MoveConstructible
.
Результат
Конструирует экземпляр >std::thread
и ассоциирует с ним вновь созданный потоком выполнения. Копирует или перемещает аргумент >func
и все элементы списка >args
во внутреннюю память, где они хранятся на протяжении всего времени жизни потока выполнения. Вызывает >INVOKE(copy-of-func, copy-of-args)
в новом потоке выполнения.
Постусловия
Для вновь сконструированного объекта >x
типа >std::thread x.get_id() != id()
.
Исключения
Исключение типа >std::system_error
, если не удалось запустить новый поток. Любое исключение, возбужденное при копировании >func
или >args
во внутреннюю память.