c++ - 限制多线程应用程序的处理器数量

标签 c++ windows multithreading

我正在开发一个多线程应用程序,它在我的 8 核开发系统上运行良好。当我在具有 2 个内核的 PC 上运行它时,我遇到了一些同步问题。

除了关闭超线程之外,还有什么方法可以限制应用程序可以使用的内核数量,以便我可以模拟单核和双核环境进行测试和调试。

我的应用程序是使用 Visual Studio 2010 用 C++ 编写的。

最佳答案

现在我们总是在虚拟机中进行测试,因为设置具有给定限制的特定环境非常容易。

例如,VMWare 允许您轻松地限制使用的处理器数量、内存量、硬盘大小、USB 或软盘或打印机的存在以及所有其他奇妙的东西。

事实上,我们有脚本可以在按下按钮时完成所有工作,从将 VM 恢复到已知的初始状态,然后启动它,通过网络安装代码,运行测试周期,然后移动结果也发送到网络上的分析机。

它大大加快并简化了测试制度。

关于c++ - 限制多线程应用程序的处理器数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20325917/

相关文章:

windows - 卸载时的文件/文件夹删除自定义设置

c# - 后台 worker 异常处理

java - Java线程间共享对象的最佳实践或原则

c++ - Qt、C++、3D 矩阵立方体

c++ - boost::shared_ptr boost::mutex 和复制构造函数

c++ - QwtPlot setAxisScale,它是如何工作的?

c - GNU C 库是否可用于非 GNU(或 POSIX)平台?

windows - Cordova 构建 Windows 错误 - 缺少 Microsoft.WinJS.2.0

Java动态方法线程产生

c++ - RHEL 6.0 两段相似的代码 : One Compiles One Does Not