内存映射文件与内存读写都可以实现进程间通信,其两者的差别如下:
1、内存写需要手工申请内存以得到内存的起始地址和手工释放内存,而利用内存映射文件则不需要,映射完之后直接即可得到内存的起始地址,但是在用完之后要记得释放内核对象File、Map,Mapview等,否则会造成内存泄露。
2、内存读写利用的是windows消息来传递起始地址指针,而内存映射文件利用内核对象的共享来实现进程间通信。
3、内存读写方式利用的是找到对方进程后,对其内存进行读写。内存映射方式是创建一个内核对象来实现内存的共享。
总之:两者都是以找到一块内存地址相同的区域,返回其基地址后对共享内存进行操作。