0

2 つのプログラムがあります。1 つはデータを生成して FIFO に入れ、もう 1 つはこのデータを FIFO から読み取って処理します。読書プログラムの数を制限するには? FIFO のサイズを制限したり、内部にいくつのデータが入っているかを確認したりしようと考えていますが、興味深いものは見つかりませんでした。ご協力いただきありがとうございます。

4

2 に答える 2

1

fifo パイプはシステム ファイルであるため、これへのアクセスを制御できる唯一の方法は、通常の手段 (所有権と許可) によるものです。しかし、 も参照してくださいman flock。Linux ではファイル ロックは強制できません。つまり、無視できますが、ファイル ロックに従うようにリーダーを実装すれば、問題は解決します。

したがって、問題が不要で侵入的なアクセスである場合は、所有権と許可を使用してこれを防ぎます。それ以外の場合は、ファイル ロックを使用します。

于 2012-05-05T09:21:46.367 に答える
0

(f)stat()でFIFOのリンク数を確認します。あなたが決めた制限を超えた場合、読み取りプログラムにそれを開くことを拒否させますか?

于 2012-05-05T09:19:31.630 に答える