小编Bob*_*Bob的帖子

为什么使用SysV或POSIX共享内存vs mmap()?

需要使用IPC在OS X 10.4及更高版本上将大量数据(200kb +)从子进程传递到父进程,我在Unix上读取共享内存,特别是System V和POSIX共享内存机制.然后我意识到mmap()可以与MAP_ANON和MAP_SHARED标志一起使用来做类似的事情(或者只是使用MAP_SHARED标志,如果我不介意正在创建常规文件).

我的问题是,有没有理由不使用mmap()?它似乎更简单,内存仍然是共享的,如果我使用MAP_ANON,它不必创建真实的文件.我可以在父进程中创建文件,然后fork()和exec()子进程并在子进程中使用它.

问题的第二部分是,这种方法不充分的原因是什么,并且必须使用SysV或POSIX共享内存机制?

请注意,我计划使用其他通信所需的管道进行同步,即父级通过管道请求数据,子级将其写入共享内存,并通过管道响应其准备就绪.没有涉及多个读者或作家.便携性不是优先事项.

unix macos shared-memory

10
推荐指数
1
解决办法
8203
查看次数

消息访问配置文件(MAP)与蓝牙低功耗兼容?

是否可以将蓝牙消息访问配置文件(MAP)与蓝牙低功耗(蓝牙智能)技术一起使用?从快速阅读规范,似乎MAP仅在传统的BT方面可用.这将禁止将MAP + LE用于智能手表之类的东西.是这样的吗?

bluetooth bluetooth-lowenergy

3
推荐指数
1
解决办法
1511
查看次数