在Linux的用户空间程序中,我从堆中通过分配获得了一块内存,然后将指针分配给在其他线程中运行的许多其他组件以供使用。当上述内存被修改时,我想得到通知。我当然可以开发一个自定义用户空间解决方案,以供其他组件尝试修改内存时使用。在我的情况下,问题在于这些是旧组件,它们可以在许多情况下写入内存。所以我想知道是否有类似的API,例如inotify(在文件更改时得到通知)或其他方法,以便在内存变化时获得通知。
我考虑过使用mmap和inotify,如果不清除更改,显然不起作用。任何建议表示赞赏:-)
唯一可能像这样工作的是调试硬件观察点。
然而,如果你沿着这条路走下去,你就做错了。
为了在线程之间共享内存,您需要实现适当的锁定和同步代码。因为您应该能够在内存解锁时添加更改通知。
| 归档时间: |
|
| 查看次数: |
2190 次 |
| 最近记录: |