Поток — это последовательность инструкций, которые могут выполняться одновременно с другими такими последовательностями в многопоточных средах, совместно используя один и тот же адресный интервал.
Типы участников
Sr.No. | Тип участника и описание |
---|---|
1 | Я бы
Это идентификатор потока. |
2 | Родной тип ручки
Это родной тип ручки. |
Это идентификатор потока.
Это родной тип ручки.
Функции-члены
Sr.No. | Функция-член и описание |
---|---|
1 | (конструктор)
Он используется для построения потока. |
2 | (деструктор)
Используется для деструктора потока. |
3 | оператор =
Это поток перемещения-назначения. |
4 | get_id
Используется для получения идентификатора потока. |
5 | присоединяемые
Используется для проверки возможности соединения. |
6 | присоединиться
Используется для присоединения к теме. |
7 | отрывать
Используется для отсоединения нити. |
8 | своп
Он используется для обмена потоками. |
9 | native_handle
Используется для получения родной ручки. |
10 | hardware_concurrency [статические]
Он используется для обнаружения аппаратного параллелизма. |
Он используется для построения потока.
Используется для деструктора потока.
Это поток перемещения-назначения.
Используется для получения идентификатора потока.
Используется для проверки возможности соединения.
Используется для присоединения к теме.
Используется для отсоединения нити.
Он используется для обмена потоками.
Используется для получения родной ручки.
Он используется для обнаружения аппаратного параллелизма.
Перегрузки, не связанные с членами
Sr.No. | Non-член перегрузка и описание |
---|---|
1 | своп (нить)
Он используется для обмена потоками. |
Он используется для обмена потоками.
пример
В приведенном ниже примере для std :: thread.
#include <iostream> #include <thread> void foo() { std::cout << " foo is executing concurrently...\n"; } void bar(int x) { std::cout << " bar is executing concurrently...\n"; } int main() { std::thread first (foo); std::thread second (bar,0); std::cout << "main, foo and bar now execute concurrently...\n"; first.join(); second.join(); std::cout << "foo and bar completed.\n"; return 0; }
Вывод должен быть таким —