Что возвращает std :: thread :: hardware_concurrency? - PullRequest
0 голосов
/ 20 марта 2020

Я экспериментировал с моим портативным компьютером, читая Параллелизм C ++ в действии , один из первых примеров - определить количество фактических потоков hw с std::thread::hardware_concurrency(), которое возвращает 8 на моей машине .
Но перед печатью std::thread::hardware_concurrency() я сделал тип и напечатал std::thread::hardware_concurrency, который был 00B61410.

Так в чем же разница между std::thread::hardware_concurrency() and std::thread::hardware_concurrency? Что позже идентифицирует?

1 Ответ

3 голосов
/ 20 марта 2020

std::thread::hardware_concurrency() является статической c функцией-членом std::thread, которая

Возвращает количество одновременных потоков, поддерживаемых реализацией. Значение следует рассматривать только как подсказку.

Таким образом, 8, который вы получаете, - это ваши "максимальные потоки непрерывности".

Когда вы делаете

std::cout << std::thread::hardware_concurrency << std::endl;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...