5

Linux のユーザー空間プログラムでは、ヒープからの割り当てによってメモリの一部を取得し、ポインタを他のスレッドで実行されている他の多くのコンポーネントに配布して使用します。上記のメモリが変更されたときに通知を受け取りたいです。もちろん、他のコンポーネントがメモリを変更しようとしたときに使用するカスタム ユーザー空間ソリューションを開発することもできます。私の場合の問題は、これらがレガシー コンポーネントであり、多くの場合にメモリに書き込むことができることです。したがって、メモリの一部が変更されたときに通知を受け取るために、inotify(ファイルが変更されたときに通知を受ける)または他のアプローチのような同様のAPIがあるかどうか疑問に思っています。

mmap と inotify の使用を検討しましたが、変更がフラッシュされない場合は明らかに機能しません。どんな提案でも大歓迎です:-)

4

3 に答える 3

0

そのように機能する唯一のものは、ハードウェアのデバッグ ウォッチ ポイントです。

ただし、そのルートをたどると、何か間違ったことをしています。

スレッド間でメモリを共有するには、適切なロックおよび同期コードを実装する必要があります。その中で、メモリのロックが解除されたときに変更の通知を追加できるはずです。

于 2012-06-07T10:37:32.740 に答える