ロックフリーキューの使用について質問があります。
プロデューサーとコンシューマーが別々のコアにバインドされている、単一プロデューサー、単一コンシューマーのキューがあるとします。キュー要素は共有メモリのバッファであり、最初にプロデューサとコンシューマの両方によって mmap されます。
プロデューサはキュー要素を取得し、バッファにデータを入力してキューに入れ、コンシューマは要素をデキューし、それを読み取り、何らかの方法で処理します。
ロックフリー キューのユーザーとして、プロデューサーによって書き込まれたバッファーがユーザーに表示されることを明示的に確認する必要がありますか? それとも、アルゴリズムの中心にある CAS (または他の同様の) プリミティブが自動的にバリアを提供しますか?
私が見たいくつかの例では、整数をペイロードとして使用しているため、このメモリ同期の問題は発生しません。
ありがとう、