GCC のアトミック ビルトインを使用して shared をインクリメントしていvolatile intます。私がやりたいのは値をインクリメントすることだけで、戻り値は気にしません。私はこれを好むべきですか、fetch_and_addそれともadd_and_fetchこれを好むべきですか?ドキュメントには、一方が他方よりもパフォーマンス上の利点があることを示唆するものは何もありません。それは本当に問題ではありませんか?
または、実際に値をアトミックに読み取る必要がないためvolatile int、戻り値を実際に読み取らないため、 a をインクリメントするより良い方法はありますか?
これは明らかにアーキテクチャに依存するため、x64 を使用していると想定できます。それが違いを生む場合、私は特にAMD Opteron CPUを使用しています。