我最近买了一台Moto Atrix 2手机.当我试图查看手机中的处理器规格时,Runtime.getRuntime().availableProcessors()返回1./proc/cpuinfo也有关于处理器0的信息.
出于好奇,我在朋友的三星Galaxy S2中检查了同样的信息,这也是一款双核手机.这也表明没有.核心是1.
我在我的Moto xoom平板电脑中检查了同样的内容,这也是双核心.这次availableProcessors()返回2,cpuinfo也有处理器0和处理器1的详细信息.
我很迷惑.为什么有些设备带有不同的信息 有人可以解释这个异常吗?
默认情况下(go ..)将使用两倍的核心数+ 42个 线程用于线程池.有什么办法可以通过设置环境变量或者sth设置线程数或代码可以使用的CPU数量吗?
在linux机器上,我可以使用taskset设置CPU的数量,例如
taskset -c 0,1 my_Java_or_Clojure_program,虽然taskset似乎对返回的数字没有效果(-> (java.lang.Runtime/getRuntime) .availableProcessors).