我正在一个有两个不同流程的项目中工作。
- 第一个进程是基于 std::map 或 std::set 的缓存,它在共享内存区域中分配所有数据。
- 第二个进程是一个生产者/消费者,它可以访问共享内存,所以当它需要一些数据时,它会通过一个unix管道向缓存进程询问包含所请求数据的共享内存的起始地址。
到目前为止,我想出了两种方法,首先是将 std::set 的分配函数更改为始终在共享内存中分配,或者以更简单的方法将指向该共享区域的指针存储为映射的值:
map<key, pointer to share region>
任何的想法?:D
谢谢!!