共享内存用于IPC;
内存映射用于文件读写:当多个进程映射到同一个文件时,并且设置了MAP_SHARE,此时可以IPC,不过数据会写回磁盘,所以还是共享内存快。
当匿名映射时(不用文件符),由于不知道文件符,所以只可用于父子进程通信(父进程开辟一个MAP_SHARE的匿名映射,然后fork子进程,子进程继承了父进程的映射区,此时效率和共享内存比应该差不多(具体我也不清楚);
内存映射和共享内存区别
最新推荐文章于 2023-06-29 12:18:53 发布
共享内存用于IPC;
内存映射用于文件读写:当多个进程映射到同一个文件时,并且设置了MAP_SHARE,此时可以IPC,不过数据会写回磁盘,所以还是共享内存快。
当匿名映射时(不用文件符),由于不知道文件符,所以只可用于父子进程通信(父进程开辟一个MAP_SHARE的匿名映射,然后fork子进程,子进程继承了父进程的映射区,此时效率和共享内存比应该差不多(具体我也不清楚);