2 つの pthread 間で、ロックのないシングル プロデューサー、シングル コンシューマーの循環キューを実装したいと考えています。ARM Linux の C で。
キューはバイトを保持し、プロデューサーは memcpy() を取り込み、コンシューマーはそれらをファイルに write() します。
頭と尾のオフセットを int に格納でき、すべてがうまくいくと考えるのは単純ですか? コンパイラの最適化など、頭/尾の書き込みがレジスタにあり、他のスレッドからは見えないこと、またはどこかにメモリバリアが必要であることなどについて疑問に思っています。