Функция hardware_concurrency () потока в C ++

Опубликовано: 30 Декабря, 2021

Thread :: hardware_concurrency - это встроенная функция в C ++ std :: thread. Это функция-наблюдатель, что означает, что она наблюдает за состоянием и затем возвращает соответствующий результат. Эта функция возвращает количество параллельных потоков, поддерживаемых доступной аппаратной реализацией. Это значение не всегда может быть точным.

Синтаксис:

 thread :: hardware_concurrency ()

Параметры: эта функция не принимает никаких параметров.

Возвращаемое значение: возвращает неотрицательное целое число, обозначающее количество параллельных потоков, поддерживаемых системой. Если значение либо не вычислимо, либо плохо определено, оно возвращает 0.

Программа ниже демонстрирует использование std :: thread :: joinable ()

Примечание. В онлайн-среде IDE эта программа покажет ошибку. Для его компиляции используйте флаг «-pthread» при компиляции компиляторов g ++ с помощью команды « g ++ –std = c ++ 14 -pthread file.cpp ».

// C++ program to demonstrate the use of
// std::thread::hardware_concurrency()
#include <chrono>
#include <iostream>
#include <thread>
using namespace std;
int main()
{
unsigned int con_threads;
// calculating number of concurrent threads
// supported in the hardware implementation
con_threads = thread ::hardware_concurrency();
cout << "Number of concurrent threads supported are: "
<< con_threads << endl;
return 0;
}

Возможный выход

 Количество поддерживаемых одновременных потоков: 4
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++