Библиотека 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. | Перегрузка и описание, не являющиеся членами |
---|---|
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;
}
Результат должен быть таким -
main, foo and bar now execute concurrently...
bar is executing concurrently...
foo is executing concurrently...
foo and bar completed.