[C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]
Posted infoworld
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]相关的知识,希望对你有一定的参考价值。
场景
- 当使用线程池时,一般需要获取最合适的最大线程数,因为在每个进程每个
CPU
核心最高性能是只处理一个线程。因此可见最合适的线程总数就是CPU
核心数。那么如何获取CPU
核心数?
说明
-
很遗憾,
C++
标准还没有线程池,要么自己开发,要么使用第三方库。 -
获取
CPU
核心数,在C++11
里已经支持获取CPU
支持的最合适的核心线程数,通过<thread>
的类静态方法获得thread::hardware_concurrency()
[2].Static. Returns an estimate of the number of hardware thread contexts.
-
如果编译器没有
<thread>
库,在Windows
上可以通过Win32
函数GetSystemInfo(LPSYSTEM_INFO)
获得.
例子
- 使用
VS2017
以上编译运行。
#
以上是关于[C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]的主要内容,如果未能解决你的问题,请参考以下文章
[C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]
[C/C++11]_[初级]_[获取CPU支持的最合适的核心线程数]
[C/C++11]_[初级]_[使用正则表达式库regex]
[C/C++11语法]_[初级]_[lamba 表达式介绍]