boost::interprocess::file_lock
を使用して、ディレクトリx
にプロセスP1
によって書き込まれたファイルが、プロセスP2
によって完全に読み込まれないようにします。これを行うには、P1
を書いている間にファイルをboost::interprocess::file_lock
でロックしておき、完了したらロックを解除します。その後、P2
は、ロックされているファイルをスキップすることができます。boost :: interprocess :: file_lockでロックされたファイルを作成する
私が抱えている問題は、boost::interprocess::file_lock
は存在するファイルのみをロックできることです。私は最初のファイルを作成し、それをロックした場合でも、その後、競合状態があります:
P1
がP2
がファイルに気づくファイルを作成し、それがP1
がファイルをロック読み取りを開始がP1
一部データの書き込み- は、一部のデータを読み取り、最後に到達し、
P1
の出力の一部のみで終了します。
だから私がしたいのは、ファイルを作成し、それが作成されるとすぐにロックさせることです。 boost::interprocess::file_lock
を使用してこれを行う方法はありますか?