Qt之共享内存实现进程间通信(QSharedMemory)学习笔记
共享内存实现步骤:
一、往共享内存中加入数据
1、定义QSharedMemory sharedmemory,并设置标志名sharedmemory.setkey();
2、将共享内存与主进程分离sharedmemory.detach();
3、创建共享内存sharedmemory.create();
4、将共享内存上锁sharedmemory.lock();
5、将进程中要共享的数据拷贝到共享内存中,memcpy;
6、将共享内存解锁sharedmemory.unlock();
二、从共享内存中取出数据
1、定义QSharedMemory sharedmemory,并设置标志名sharedmemory.setkey();//设置的要与提供内存共享的一致;
2、将共享内存与主进程绑定sharedmemory.attach();使该进程可以访问共享内存的数据;
3、将共享内存上锁sharedmemory.lock();
4、从共享内存中读取数据;
5、使用完成后将共享内存解锁sharedmemory.unlock();
6、共享内存与该进程分离sharedmemory.detach();
当最后一个程序实例和共享内存解除关联后,该共享内存将由操作系统自动释放。