如何让Java使用机器上的所有CPU电源?

klo*_*oop 3 java cpu

我有时用Java编写代码,我注意到有时它在多核机器上使用超过100%的CPU.我现在在具有33个CPU(亚马逊的EC2)的多核机器上运行一些代码,我想让我的Java进程使用所有可用的CPU,这样它将具有非常高的机器利用率.这是可能的,还是由Java来决定何时使用超过100%的CPU?我不希望更改代码以使用多线程.

Mak*_*oto 6

如果不使用多个线程或进程(或运行一个进程以外的其他程序),您将无法在n核机器上实现n*100%的使用率.

操作系统决定在单个线程上运行每个用户程序,除非发出更多请求.如果没有该请求,操作系统将很乐意让您在单个线程中运行您的代码,可能最大限度地延长整个CPU的周期 - 但它会让其他人保持开放状态.