多核环境下的多线程编程,怎么样才能充分利用到各个CPU,JRockit的JDK可以指定CPU, 那SUN的呢?
我在网上看到JRockit的JDK里面有指定使用cpu个数的方法 suggestProcessAffinity():
for (Iterator it = JVMFactory.getJVM().getProcessAffinity().iterator(); it
.hasNext(); count++) {
CPU cpu = (CPU) it.next();
cpus.add(cpu);
}
cpu_set.add(cpus.get(0));
cpu_set.add(cpus.get(1));
jvm.suggestProcessAffinity(cpu_set);
现在我有以下疑问:
1.是不是只有指定了cpu个数才能充分利用多核,多CPU的功能?
2.SUN的JDK里面有没相应的方法?
3.网上有人多在多核CPU的情况下,多线程是不是只利用到了单CPU?