runtime.getruntime().availableprocessors()

qvtsj1bj  于 2021-06-30  发布在  Java
关注(0)|答案(5)|浏览(989)

我正在检查程序的性能。我参考这篇文章获取操作系统级的系统信息。什么时候 Runtime.availableProcessors() 我得到的答案是4。我读了availableprocessors(),但它告诉我这个方法返回处理器的数量
有人能解释一下处理器数量是什么意思吗?
为什么我会得到4分呢?
我使用的是Windows7CoreI54GP。

lc8prwob

lc8prwob1#

它不提供jvm进程可用的内核。如果启用“超线程”,则实际值可能会更大。

4si2a6ki

4si2a6ki2#

处理器的数量基本上就是能够运行代码的执行引擎的数量。i5的一个变种是4核cpu,i5-7系列。这些处理器可能是物理上不同的处理器(即使它们存在于同一个芯片中),也可能是使用超线程时的逻辑处理器。
看到了吗http://en.wikipedia.org/wiki/intel_core#core_i5 以及http://en.wikipedia.org/wiki/hyper-threading 更多细节。

lnxxn5zx

lnxxn5zx3#

您有一个多核处理器(在您的情况下,它看起来像是lynnfield)。每个核都算作一个单独的cpu(一个单独的处理器),因为每个核可以与其他核同时执行指令。

oo7oh9g9

oo7oh9g94#

在此上下文中,“处理器”是“能够独立执行的硬件”,即cpu核心。
它不是“处理器包”-您购买的单个硬件单元(实际上是一个包中的4个独立CPU)

vlf7wbxs

vlf7wbxs5#

如前所述,availableprocessors()是一个返回 number of processors available to the JVM . 4表示当前可用于jvm的处理器数。
这些线返回 number of logical cores 在windows和其他操作系统上。
在四核i7支持超线程的计算机上,它将返回8。
在四核q6700的计算机上,此方法将返回4。

相关问题