Учебники

Библиотека C ++ — <поток>

Поток — это последовательность инструкций, которые могут выполняться одновременно с другими такими последовательностями в многопоточных средах, совместно используя один и тот же адресный интервал.

Типы участников

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;
}

Вывод должен быть таким —