【框架】共享内存组设计思路与实现(用共享内存创建链表)

版权声明:本文为博主原创文章,转载前请注明出处:。

背景:

  在通信场景中,存在一个进程A,专门用来处理某个设备文件的消息,并将从设备文件中读取到的信息放置到某片共享内存中,只要和其他进程约定好共享内存使用的shm_id即可。

  现在由于业务拓展,需要同时处理不同的设备文件,如果使用相同的shm_id会导致先申请内存值被后者覆盖(根本原因是由于不同的数据对象使用了同一片的内存地址,导致读写时发生了内存践踏。

设计:

  核心思想是在共享内存内存中设计一条带头节点的链表,这样的链表和普通的链表一样,但是这样的链表是存在在共享内存中的。同时,尽量保证现有的使用方法不发生改变。

猜你喜欢

转载自www.cnblogs.com/schips/p/10677408.html