【发布时间】:2011-05-20 08:25:01
【问题描述】:
我有一个在 Windows、MacOS 和 Linux 上运行的多线程 C++ 程序。有没有一种简单的方法可以找出我当前正在运行的机器有多少个内核?我的系统在每个内核有 1 个线程时运行得最好。
【问题讨论】:
标签: c++ multithreading
我有一个在 Windows、MacOS 和 Linux 上运行的多线程 C++ 程序。有没有一种简单的方法可以找出我当前正在运行的机器有多少个内核?我的系统在每个内核有 1 个线程时运行得最好。
【问题讨论】:
标签: c++ multithreading
如果您有 C++0x 编译器,请使用 boost::thread::hardware_concurrency() 或 std::thread::hardware_concurrency()。
【讨论】:
我相信这个问题可能包含你的答案:
Programmatically find the number of cores on a machine
编辑:我刚刚对 ybungalobill 的回答投了赞成票。我爱boost!
【讨论】:
在 linux 系统上,cat /proc/cpuinfo 并解析输出是一种方法。不知道它是否最有效。
【讨论】: