マシンはデュアルコアであり、OSはマルチプロセッサカーネルを使用します。いくつかのパフォーマンス評価を実行するために、JVMのスレッドアフィニティをシングルコアに設定したいと思います。ただし、JVMがシングルコアに制約されていることに気付かない可能性があるため、パフォーマンス測定値が歪んでしまうのではないかと心配していますが、スレッド同期とガベージコレクションにはマルチプロセッサプリミティブを使用しています。ガベージコレクターはコマンドラインから調整できますが、スレッドの同期はできません。
現在、JVMはスレッドに主に(*)OSスレッドを使用しています。したがって、おそらく問題は、「OS(Windows / Linux)は、対応するプロセスのスレッドアフィニティを設定することによってシングルコアの使用に制約があるマルチスレッドアプリケーションで正しい同期プリミティブを使用するか」ということです。
(*)これはWindowsでは正確には当てはまりません。Windowsでは、OSを呼び出す前にJVMが自動的に回転します。この動作は、-XX:+ UseSpinningおよび-XX:PreBlockSpin設定を介して制御できます。