可能重复:
Programmatically find the number of cores on a machine
我有一个在Windows,MacOS和Linux上运行的多线程C ++程序。有没有一种简单的方法可以找出我当前运行的机器有多少个核心?当每个核心有1个线程时,我的系统运行得最好。
答案 0 :(得分:3)
如果您有C ++ 0x编译器,请使用boost::thread::hardware_concurrency()
或std::thread::hardware_concurrency()
。
答案 1 :(得分:2)
我相信这个问题可能包含你的答案:
Programmatically find the number of cores on a machine
编辑:我刚刚投了ybungalobill的答案。我喜欢boost
!
答案 2 :(得分:0)
在linux系统上,cat / proc / cpuinfo和解析输出是一种方式。 Dunno,如果它是最有效的。