c++ - 如何确保多线程 C++ 程序由多核服务器上的所有内核运行?

标签 c++ multithreading boost

如何确保多线程 C++ 程序由 ALL 内核运行 多核服务器在物理上(而非逻辑上)进行并行计算。

我有一个多核服务器,它有 24 个 CPU,每个 CPU 有 6 个内核。

是Intel Xeon X5650 2.67GHz cpu cores : 6 (支持6个线程) 中央处理器频率:1596.000

我总共有 24 * 6 = 144 个核心。

我用 boost/thread 设计了一个多线程 C++ 程序。

如何确保我的程序由所有 144 个内核运行?

非常感谢任何帮助。

谢谢

最佳答案

您应该没有什么特别需要做的。默认情况下,操作系统的调度程序应调度所有可用内核。如果您有 144 个准备运行的线程,并且系统没有其他事情可做,它应该在每个可用的核心(物理或虚拟)上安排一个。

关于c++ - 如何确保多线程 C++ 程序由多核服务器上的所有内核运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058423/

相关文章:

C++容器,在析构时自动删除元素

c# - 在 VS2017 中找不到 Microsoft.Data.Tools.Components

c++ - 在 C 中是否有一组标准的库用于动态字符串、列表和字典?

python - 如何修改线程内的列表?

c# - 正确完成服务器线程

java - 如何从多线程log4j2缓冲区中读取

C++ 需要有关 OpenCV 教程中代码的帮助

c++ - Boost 1.59.0 如何清理项目?

c++ - interval_map codomain 中的选择

c++ - boost 概念检查 operator() 重载