C++プロジェクトでObserver Patternを実装しました。マルチスレッド環境で共有メモリを同期
- Subjectはタグを読み取り、その値を公開するXMLファイルリーダーです。
- 私はオブザーバーである「処理オブジェクト」をいくつか持っています。彼らは現在読み込まれているタグをチェックします。タグに従属していれば、それを処理します。他のタグは無視します。
- 私は、タグとその値がダンプされるメモリバンクを持っています。
私の問題はありません。どのようにメモリ操作を同期させるのですか? 私のXMLリーダーはタグ/値を公開したいとき、未使用のメモリブロックを取得し、それを "ロック"して編集不可能にする必要があります。すべての「処理オブジェクト」がメモリで完了すると、後で使用するために「ロック解除」できる必要があります。
どうすればこの問題を解決できますか?助けてください。
まあ私はRabitMQ、C#、Javaなどのためです。私はC++のためにそれが必要です。とにかく感謝しています.RabbitMQを使用できる別のプロジェクトがあるためです。 – Anand
C++バインディングもあります https://github.com/akalend/amqpcpp http://www.rabbitmq.com/devtools.html#c-dev –