このpause
命令は通常、他のスレッドがスピンロックを所有している場合に、スピンロックをテストするループで使用され、タイトなループを軽減します。一部の NOP 命令に相当すると言われています。スピンロックの最適化で正確にどのように機能するか教えてもらえますか? NOP 命令でさえ CPU 時間の無駄に思えます。CPU使用率が低下しますか?
別の質問は、他の同様の目的で一時停止命令を使用できるかどうかです。たとえば、新しいノードを取得するためにいくつかの場所 (キューなど) をスキャンし続けるビジー スレッドがあります。ただし、キューが空で、スレッドが単に CPU 時間を無駄にしている場合があります。スレッドをスリープさせ、他のスレッドで起動することもできますが、スレッドは重要であるため、スリープさせたくありません。
CPU 使用率を軽減する目的で命令作業を一時停止できますか? 現在、物理コアの 100% の CPU を使用していますか?