为什么多核 64 位系统上一个行为不当的 32 位进程会冻结所有 32 位进程?

为什么多核 64 位系统上一个行为不当的 32 位进程会冻结所有 32 位进程?

我的笔记本电脑在三核 AMD Phenom 上运行 Windows 7 x64。每当我的 32 位进程发疯并使用 33% 的 CPU(即一个核心 100%)时,其他所有 32 位进程都会变得无响应,而 64 位进程则运行正常,大概是在另外两个核心上。我能想到的唯一解释是 WoW64 在单个核心上运行所有 32 位应用程序。是这样吗,还是有其他原因?如果是这样,有什么方法可以像一个好的小型多核系统那样将它们分开?

谢谢!

答案1

需要清楚的是,32 位和 64 位之间的主要区别影响可寻址 RAM,而与多处理无关。

应用程序需要开发和编译才能正确支持多线程。您看到问题的 32 位应用程序很可能不支持多线程,或者依赖于不支持多线程的进程。

相关内容