2つのpthreadの間にロックなしの単一プロデューサ、単一コンシューマ循環キューを実装したいと思います。 ARM LinuxではC言語で動作します。pthreadsを持つロックレス循環キュー。気にするものは何ですか?
キューはバイトを保持し、プロデューサはmemcpy()を行い、消費者はそれらをファイルに書き出します。
intに頭と尾のオフセットを格納できると思うのは素朴ですが、すべてがうまくいくでしょうか? コンパイラの最適化など、ヘッド/テールの書き込みがレジスタにあり、他のスレッドから見えない、またはどこかのメモリバリアを必要としているなどのことが考えられます。
ありがとうございます。それが私が向かっていた結論です。それを確認してもらいました。今のところmutexで安全にプレイし、早すぎる最適化を延期します。 – blueshift