我有时用 Java 编写代码,我注意到有时它在多核机器上使用超过 100% 的 CPU。我现在正在一台具有 33 个 CPU(亚马逊的 EC2)的多核机器上运行一些代码,我想让我的 Java 进程使用所有可用的 CPU,这样它将具有非常高的机器利用率。这可能吗,还是由 Java 来决定何时使用超过 100% 的 CPU?我不想更改代码以使用多线程。
如果不使用多个线程或进程(或除运行一个进程之外的其他进程),您将无法在一台计算机上实现 n*100% 使用率n-核心机。
操作系统决定在单个线程上运行每个用户程序,除非发出更多请求。如果没有这个请求,操作系统会很乐意让您在单个线程中运行代码,这可能会最大化整个 CPU 的周期 - 但它会让其他线程保持开放状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)