0

我正在查看 Java Thread Affinity 库(下面的链接),在一个示例中,亲和力是使用1 << 3. 有人知道为什么是这样吗?

AffinitySupport.setAffinity(1 << 3);

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

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

4

2 回答 2

0

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

于 2013-03-23T16:44:43.073 回答
0

to 的参数AffinitySupport.setAffinity()是一个位掩码。

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

于 2013-03-23T16:45:55.460 回答