Функция hardware_concurrency () потока в C ++
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