Java亲和锁

Java亲和锁,java,affinity,Java,Affinity,我有一个新手问题,所以我开始研究Java亲和库,我有以下代码: public static void main(String[] args){ AffinityLock l = AffinityLock.acquireLock(5); Thread.currentThread().setName("Testing"); System.out.println("\nThe assignment of CPUs is\n" + AffinityLock.dumpLocks()

我有一个新手问题,所以我开始研究Java亲和库,我有以下代码:

public static void main(String[] args){
    AffinityLock l = AffinityLock.acquireLock(5);
    Thread.currentThread().setName("Testing");
    System.out.println("\nThe assignment of CPUs is\n" + AffinityLock.dumpLocks());
    while(!Thread.currentThread().isInterrupted()){

    }
}
我有输出:

The assignment of CPUs is
0: General use CPU
1: Reserved for this application
2: Reserved for this application
3: Reserved for this application
4: Reserved for this application
5: Thread[Testing,5,main] alive=true
... 
但是如果我去ps-alF,我可以看到进程没有在PSR5上运行。我错过了什么明显的东西吗

非常感谢!!
-Mag

一个线程可以在不同的内核上执行。请阅读这篇引人入胜的文章

在这种特殊情况下,您可以在方法
net.openhft.affinity.LockInventory.set(CpuLayout CpuLayout)
中停止调试器,并执行一些步骤以了解
LogicalReclocks
数组初始化期间发生的情况

看起来转储的数据只有在初始化时才是实际的,但在打印到控制台时不是