私は、2 つの異なるプロセスを持つプロジェクトで作業しています。
- 最初のプロセスは、すべてのデータを共有メモリ領域に割り当てる std::map または std::set に基づくキャッシュです。
- 2 番目のプロセスは、共有メモリにアクセスできるプロデューサ/コンシューマであるため、データが必要なときはいつでも、要求されたデータを含む共有メモリの開始アドレスを unix パイプを介してキャッシュ プロセスに問い合わせます。
これまでのところ、私は 2 つのアプローチを思い付きました。1 つ目は std::set の割り当て関数を常に共有メモリに割り当てるように変更するか、マップの値としてその共有領域へのポインターを格納するより簡単な方法です。
map<key, pointer to share region>
何か案が?:D
ありがとう!!