コードでスピンロックを実際に使用している頻度はどれくらいですか? ビジー ループを使用した方が実際にロックを使用した場合よりもパフォーマンスが優れているという状況に遭遇することは、どのくらいよくあることでしょうか?
個人的には、スレッド セーフが必要なコードを書くときは、さまざまな同期プリミティブを使ってベンチマークする傾向があります。その限りでは、スピンロックを使用するよりもロックを使用した方がパフォーマンスが向上するようです。実際にロックを保持している時間がどれだけ短いかに関係なく、スピンロックを使用した場合に発生する競合の量は、ロックを使用した場合よりもはるかに多くなります (もちろん、私はマルチプロセッサ マシンでテストを実行しています)。
「低レベル」のコードでスピンロックに遭遇する可能性が高いことは認識していますが、より高レベルの種類のプログラミングでも役立つかどうか知りたいですか?