ミューテックスロックは実際にはそれ自体がアトミックインクリメントとして実装されている可能性が高く、運が悪くてロックで競合が発生した場合は、システムコールも含まれます [もちろん、それがシステムではないと仮定していずれかの方法を呼び出す!].
x86 でのアトミック ソリューションは、単純な「ロック追加」操作になります。他のプロセッサではもっと複雑かもしれませんが、それでもアトミックはミューテックスに必要な最小限のものであるため、とにかく少なくともその量の作業があります。
次に、ミューテックスのロック解除を追加します。これはそれほど複雑ではないかもしれませんが、完全に解放されるわけではありません。
そうです、アトミックに行きましょう。
しかし、パフォーマンスに関係するすべてのことと同様に、「前」と「後」を測定して、実際にパフォーマンスが向上することを確認してください。
元の gnu C++ 標準ライブラリの実装は、実際には操作の周りにある種のミューテックスを使用して行われたと誰かが説明しているのを見たことがあることに注意してください。 )。Microsoft は長い間、適切なアトミック操作をビルトインとしてサポートしてきたので、問題ないはずです。他のプロセッサ アーキテクチャは異なる場合があります。