私は2つのプロセスが文字列のベクトルを共有しています。C++:Boost:管理共有メモリにセマフォーロックが必要ですか?
- プロセスAは、これがデータの破損を防ぐために、セマフォを必要としていた文字列を読み込み、ベクトル
から削除されますベクトル
managed_shared_memory
を使用してこれを処理していますか? ありがとうございました
私は2つのプロセスが文字列のベクトルを共有しています。C++:Boost:管理共有メモリにセマフォーロックが必要ですか?
から削除されますベクトル
managed_shared_memory
を使用してこれを処理していますか? ありがとうございました
ブースト管理共有メモリでは、セマフォロックが必要です。そうしないと、プロセスが不正なデータを読み書きできなくなり、予期しない動作が発生します。 (セグメンテーション障害またはその他)。
私がブーストに伝えるものからは、それが処理されます。 This page should have all the information you need
"Boost.Interprocessは、managed_shared_memoryまたはmanaged_mapped_fileを使用するプロセス間で管理共有メモリを提供します。2つのプロセスは同じメモリマップ可能リソースをマップし、そのオブジェクトとの間で読み書きを行います。