Java Thread Affinity lib:为什么Affinity设置为1<< 3?

时间:2013-03-23 16:39:58

标签: java

我正在查看Java Thread Affinity lib(下面的链接),在一个示例中,使用1 << 3设置了关联。有人知道为什么吗?

AffinitySupport.setAffinity(1 << 3);

我原本以为它会被设置为1或2,例如在2核心机器上,比如留在核心1或2.我显然在这里遗漏了一些东西。

链接:https://github.com/peter-lawrey/Java-Thread-Affinity

2 个答案:

答案 0 :(得分:0)

此语法使用左移位运算符:http://processing.org/reference/leftshift.html 所以基本上1 << 3表示二进制1000,所以这是十进制的8

答案 1 :(得分:0)

AffinitySupport.setAffinity()的参数有点掩盖。

将关联设置为1 << 3允许线程在逻辑CPU#3上运行。