0

私は Java Thread Affinity lib (以下のリンク) を見ています。例では、アフィニティは を使用して設定されて1 << 3います。これがなぜなのか誰か知っていますか?

AffinitySupport.setAffinity(1 << 3);

たとえば、2コアマシンでは、コア1または2にとどまると言うように、1または2に設定されると思っていたでしょう。明らかにここに何かが欠けています。

リンク: https://github.com/peter-lawrey/Java-Thread-Affinity

4

2 に答える 2

0

この構文では、左シフト演算子を使用します: http://processing.org/reference/leftshift.html つまり、基本的には 2 進数1 << 3を意味1000するため、これは810 進数です。

于 2013-03-23T16:44:43.073 に答える
0

への引数AffinitySupport.setAffinity()はビット マスクです。

アフィニティを に設定する1 << 3と、スレッドは論理 CPU #3 で実行できます。

于 2013-03-23T16:45:55.460 に答える